-
-
Notifications
You must be signed in to change notification settings - Fork 479
/
Copy pathCompareBinaryTreeTest.php
91 lines (81 loc) · 2.31 KB
/
CompareBinaryTreeTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?php
namespace DataStructures;
require_once __DIR__ . '/../../vendor/autoload.php';
require_once __DIR__ . '/../../DataStructures/CompareBinaryTree/BinaryTreeNode.php';
require_once __DIR__ . '/../../DataStructures/CompareBinaryTree/CompareBinaryTree.php';
use DataStructures\CompareBinaryTree\BinaryTreeNode;
use DataStructures\CompareBinaryTree\CompareBinaryTree;
use PHPUnit\Framework\TestCase;
class CompareBinaryTreeTest extends TestCase
{
public function testBinaryTreesAreEqualWhenAreEqualInReality()
{
$tree1 = new BinaryTreeNode(
'A',
new BinaryTreeNode(
'B',
new BinaryTreeNode(
'D'
),
new BinaryTreeNode(
'E',
null,
new BinaryTreeNode(
'F'
)
)
),
new BinaryTreeNode(
'C',
new BinaryTreeNode('G')
)
);
$tree2 = clone $tree1;
$sut = new CompareBinaryTree();
$this->assertTrue($sut->areTreesEqual($tree1, $tree2));
}
public function testBinaryTreesAreNotEqualWhenAreNotEqualInReality()
{
$tree1 = new BinaryTreeNode(
'A',
new BinaryTreeNode(
'B',
new BinaryTreeNode(
'F'
),
new BinaryTreeNode(
'E',
null,
new BinaryTreeNode(
'D'
)
)
),
new BinaryTreeNode(
'C',
new BinaryTreeNode('G')
)
);
$tree2 = new BinaryTreeNode(
'A',
new BinaryTreeNode(
'B',
new BinaryTreeNode(
'F'
),
new BinaryTreeNode(
'E',
null,
new BinaryTreeNode(
'D'
)
)
),
new BinaryTreeNode(
'C'
)
);
$sut = new CompareBinaryTree();
$this->assertFalse($sut->areTreesEqual($tree1, $tree2));
}
}