From 553af171aafecf19f4978849b174b8fb23333a7e Mon Sep 17 00:00:00 2001 From: Marcel Naeve Date: Sat, 20 Apr 2024 23:05:02 +0200 Subject: [PATCH] added some more tests --- tests/test.class.StringBuilder.php | 69 ++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/tests/test.class.StringBuilder.php b/tests/test.class.StringBuilder.php index 790a66e..1a9b8e2 100644 --- a/tests/test.class.StringBuilder.php +++ b/tests/test.class.StringBuilder.php @@ -50,4 +50,73 @@ class StringBuilderTest extends TestCase { $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(), ["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")); + } + } \ No newline at end of file