Compare commits
4 Commits
039fd102ae
...
4bb53fbdf7
Author | SHA1 | Date |
---|---|---|
|
4bb53fbdf7 | |
|
8721a76a74 | |
|
3dd6da8944 | |
|
5112388662 |
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^10"
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -51,6 +51,7 @@ class StringBuilder {
|
|||
* @return void
|
||||
*/
|
||||
public function __construct(bool $unique=false) {
|
||||
$this->unique = $unique;
|
||||
$this->parts = [];
|
||||
$this->vars = [];
|
||||
}
|
||||
|
@ -176,6 +177,9 @@ class StringBuilder {
|
|||
*/
|
||||
public function setParts(array $parts=[]) : StringBuilder {
|
||||
$this->parts = $parts;
|
||||
if($this->unique) {
|
||||
$this->parts = array_unique($this->parts);
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
<?php
|
||||
|
||||
namespace Tests\AppBundle;
|
||||
|
||||
include_once(__DIR__.'/../vendor/autoload.php');
|
||||
require_once(__DIR__.'/../src/class.StringBuilder.php');
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class StringBuilderTest extends TestCase {
|
||||
|
||||
public function testSettingVariable() {
|
||||
$sb = new \NAE\String\StringBuilder();
|
||||
$sb->setVar("t1", "test1")->setVar("t2", "test2");
|
||||
$this->assertEquals($sb->getVars(), ["t1" => "test1", "t2" => "test2"]);
|
||||
}
|
||||
|
||||
public function testAppendString() {
|
||||
$sb = new \NAE\String\StringBuilder();
|
||||
$sb->append("test1")->append("test2");
|
||||
$this->assertEquals($sb->getParts(), ["test1", "test2"]);
|
||||
}
|
||||
|
||||
public function testJoinString() {
|
||||
$sb = new \NAE\String\StringBuilder();
|
||||
$sb->append("test1")->append("test2");
|
||||
$sb->setSeperator(";");
|
||||
$this->assertEquals($sb->join(), "test1;test2");
|
||||
}
|
||||
|
||||
public function testJoinUniqueString() {
|
||||
$sb = new \NAE\String\StringBuilder();
|
||||
$sb->append("test1")->append("test2")->append("test1");
|
||||
$sb->setSeperator(";");
|
||||
$this->assertEquals($sb->joinUnique(), "test1;test2");
|
||||
}
|
||||
|
||||
public function testContainsPart() {
|
||||
$sb = new \NAE\String\StringBuilder();
|
||||
$sb->append("test1")->append("test2");
|
||||
$this->assertTrue($sb->contains("test1"));
|
||||
$this->assertTrue($sb->contains("test2"));
|
||||
$this->assertFalse($sb->contains("test3"));
|
||||
}
|
||||
|
||||
public function testJoinInitUniqueString() {
|
||||
$sb = new \NAE\String\StringBuilder(true);
|
||||
$sb->append("test1")->append("test2")->append("test1");
|
||||
$sb->setSeperator(";");
|
||||
$this->assertEquals($sb->join(), "test1;test2");
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue