Compare commits
4 Commits
039fd102ae
...
4bb53fbdf7
Author | SHA1 | Date |
---|---|---|
|
4bb53fbdf7 | |
|
8721a76a74 | |
|
3dd6da8944 | |
|
5112388662 |
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"autoload": {
|
||||||
|
"classmap": [
|
||||||
|
"src/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^10"
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -51,6 +51,7 @@ class StringBuilder {
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function __construct(bool $unique=false) {
|
public function __construct(bool $unique=false) {
|
||||||
|
$this->unique = $unique;
|
||||||
$this->parts = [];
|
$this->parts = [];
|
||||||
$this->vars = [];
|
$this->vars = [];
|
||||||
}
|
}
|
||||||
|
@ -176,6 +177,9 @@ class StringBuilder {
|
||||||
*/
|
*/
|
||||||
public function setParts(array $parts=[]) : StringBuilder {
|
public function setParts(array $parts=[]) : StringBuilder {
|
||||||
$this->parts = $parts;
|
$this->parts = $parts;
|
||||||
|
if($this->unique) {
|
||||||
|
$this->parts = array_unique($this->parts);
|
||||||
|
}
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue