Compare commits

..

4 Commits

4 changed files with 1709 additions and 0 deletions

10
composer.json Normal file
View File

@ -0,0 +1,10 @@
{
"autoload": {
"classmap": [
"src/"
]
},
"require-dev": {
"phpunit/phpunit": "^10"
}
}

1642
composer.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -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;
}

View File

@ -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");
}
}