149 lines
5.2 KiB
PHP
149 lines
5.2 KiB
PHP
<?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");
|
|
}
|
|
|
|
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"));
|
|
}
|
|
|
|
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");
|
|
}
|
|
|
|
} |