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"); } public function testJoinAfterAppendUniqueString() { $sb = new \NAE\String\StringBuilder(); $sb->append("test1")->append("test2")->appendUnique("test1"); $sb->setSeperator(";"); $sb->append("test3"); $this->assertEquals($sb->join(), "test1;test2;test3"); } public function testJoinAfterAppendDuplicateString() { $sb = new \NAE\String\StringBuilder(); $sb->append("test1")->append("test2")->append("test1"); $sb->setSeperator(";"); $sb->append("test3"); $this->assertEquals($sb->join(), "test1;test2;test1;test3"); } public function testPrependString() { $sb = new \NAE\String\StringBuilder(); $sb->prepend("test1")->prepend("test2"); $this->assertEquals($sb->getParts(), ["test2", "test1"]); } public function testPrependUniqueString() { $sb = new \NAE\String\StringBuilder(); $sb->prependUnique("test1")->prepend("test2")->prependUnique("test1"); $this->assertEquals($sb->getParts(), ["test2", "test1"]); } public function testPrependStringInitUnique() { $sb = new \NAE\String\StringBuilder(true); $sb->prepend("test1")->prepend("test2")->prepend("test1"); $this->assertEquals($sb->getParts(), ["test2", "test1"]); } public function testPrependDuplicateString() { $sb = new \NAE\String\StringBuilder(); $sb->prepend("test1")->prepend("test2")->prepend("test1"); $this->assertEquals($sb->getParts(), ["test1", "test2", "test1"]); } public function testSuffix() { $sb = new \NAE\String\StringBuilder(); $sb->setVarSuffix("%%"); $this->assertEquals($sb->getVarSuffix(), "%%"); } public function testPrefix() { $sb = new \NAE\String\StringBuilder(); $sb->setVarPrefix("%%"); $this->assertEquals($sb->getVarPrefix(), "%%"); } public function testVariables() { $sb = new \NAE\String\StringBuilder(); $sb->setVar("t1", "test1")->setVar("t2", "test2"); $this->assertEquals($sb->getVars(), ["t1" => "test1", "t2" => "test2"]); $this->assertEquals($sb->getVar("t1"), "test1"); $this->assertEquals($sb->getVar("t2"), "test2"); $this->assertEquals($sb->getVar("t3"), ""); } public function testHasVar() { $sb = new \NAE\String\StringBuilder(); $sb->setVar("t1", "test1")->setVar("t2", "test2"); $this->assertTrue($sb->hasVar("t1")); $this->assertTrue($sb->hasVar("t2")); $this->assertFalse($sb->hasVar("t3")); } public function testSetSeperator() { $sb = new \NAE\String\StringBuilder(); $sb->setSeperator(";"); $this->assertEquals($sb->getSeperator(), ";"); } public function testSetParts() { $sb = new \NAE\String\StringBuilder(); $sb->setParts(["test1", "test2"])->setSeperator(";"); $this->assertEquals($sb->getParts(), ["test1", "test2"]); $this->assertEquals($sb->join(), "test1;test2"); } public function testSetPartsOnUnique() { $sb = new \NAE\String\StringBuilder(true); $sb->setParts(["test1", "test2", "test1"])->setSeperator(";"); $this->assertEquals($sb->getParts(), ["test1", "test2"]); $this->assertEquals($sb->join(), "test1;test2"); } public function testSetPartsWithDuplicates() { $sb = new \NAE\String\StringBuilder(); $sb->setParts(["test1", "test2", "test1"])->setSeperator(";"); $this->assertEquals($sb->getParts(), ["test1", "test2", "test1"]); $this->assertEquals($sb->join(), "test1;test2;test1"); } }