Compare commits

..

2 Commits

2 changed files with 70 additions and 1 deletions

View File

@ -115,7 +115,7 @@ class StringBuilder {
* @return string Wert der Variablen als String. * @return string Wert der Variablen als String.
*/ */
public function getVar(string $key) : string { public function getVar(string $key) : string {
return $this->vars[trim($key)]; return $this->vars[trim($key)] ?? "";
} }
/** /**

View File

@ -50,4 +50,73 @@ class StringBuilderTest extends TestCase {
$this->assertEquals($sb->join(), "test1;test2"); $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"));
}
} }