Skip to content

Commit

Permalink
Fix: Do not use setUp() to create the system under test
Browse files Browse the repository at this point in the history
  • Loading branch information
localheinz committed Feb 24, 2023
1 parent ff0a13a commit 0ef2650
Showing 1 changed file with 37 additions and 28 deletions.
65 changes: 37 additions & 28 deletions test/Unit/Builder/NodeBuilderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,6 @@
*/
final class NodeBuilderTest extends Framework\TestCase
{
protected NodeBuilder $builder;

protected function setUp(): void
{
$this->builder = new NodeBuilder();
}

public function testConstructorCreatesEmptyNodeIfNoSpecified(): void
{
$builder = new NodeBuilder();
Expand All @@ -45,43 +38,51 @@ public function testConstructor(): void

public function testSetNodeAndGetNode(): void
{
$this->builder->setNode($node1 = new Node('node1'));
self::assertSame($node1, $this->builder->getNode());
$builder = new NodeBuilder();

$this->builder->setNode($node2 = new Node('node2'));
self::assertSame($node2, $this->builder->getNode());
$builder->setNode($node1 = new Node('node1'));
self::assertSame($node1, $builder->getNode());

$builder->setNode($node2 = new Node('node2'));
self::assertSame($node2, $builder->getNode());
}

public function testLeaf(): void
{
$this->builder->leaf('a')->leaf('b');
$builder = new NodeBuilder();

$builder->leaf('a')->leaf('b');

$children = $this->builder->getNode()->getChildren();
$children = $builder->getNode()->getChildren();

self::assertSame('a', $children[0]->getValue());
self::assertSame('b', $children[1]->getValue());
}

public function testLeafs(): void
{
$this->builder->leafs('a', 'b');
$builder = new NodeBuilder();

$builder->leafs('a', 'b');

$children = $this->builder->getNode()->getChildren();
$children = $builder->getNode()->getChildren();

self::assertSame('a', $children[0]->getValue());
self::assertSame('b', $children[1]->getValue());
}

public function testTreeAddNewNodeAsChildOfTheParentNode(): void
{
$this->builder
$builder = new NodeBuilder();

$builder
->value('root')
->tree('a')
->tree('b')->end()
->leaf('c')
->end();

$node = $this->builder->getNode();
$node = $builder->getNode();
self::assertSame(['a'], $this->childrenValues($node->getChildren()));

$subtree = $node->getChildren()[0];
Expand All @@ -90,39 +91,47 @@ public function testTreeAddNewNodeAsChildOfTheParentNode(): void

public function testTree(): void
{
$this->builder->tree('a')->tree('b');
$builder = new NodeBuilder();

self::assertSame('b', $this->builder->getNode()->getValue());
$builder->tree('a')->tree('b');

self::assertSame('b', $builder->getNode()->getValue());
}

public function testEnd(): void
{
$this->builder
$builder = new NodeBuilder();

$builder
->value('root')
->tree('a')
->tree('b')
->tree('c')
->end();

self::assertSame('b', $this->builder->getNode()->getValue());
self::assertSame('b', $builder->getNode()->getValue());

$this->builder->end();
self::assertSame('a', $this->builder->getNode()->getValue());
$builder->end();
self::assertSame('a', $builder->getNode()->getValue());

$this->builder->end();
self::assertSame('root', $this->builder->getNode()->getValue());
$builder->end();
self::assertSame('root', $builder->getNode()->getValue());
}

public function testValue(): void
{
$this->builder->value('foo')->value('bar');
$builder = new NodeBuilder();

$builder->value('foo')->value('bar');

self::assertSame('bar', $this->builder->getNode()->getValue());
self::assertSame('bar', $builder->getNode()->getValue());
}

public function testNodeInstanceByValue(): void
{
$node = $this->builder->nodeInstanceByValue('baz');
$builder = new NodeBuilder();

$node = $builder->nodeInstanceByValue('baz');

self::assertSame('baz', $node->getValue());
self::assertInstanceOf('Tree\Node\Node', $node);
Expand Down

0 comments on commit 0ef2650

Please sign in to comment.