-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_ttree.rb
More file actions
83 lines (73 loc) · 1.95 KB
/
test_ttree.rb
File metadata and controls
83 lines (73 loc) · 1.95 KB
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
require_relative "ttree.rb"
require "test/unit"
class TestTernaryTree < Test::Unit::TestCase
def setup
# pass
end
def teardown
# pass
end
def test_well_behaved
t = TernaryTree.new([])
assert_nothing_thrown() {t.add(1)}
end
def test_constructor
t = TernaryTree.new([5, 4, 9, 5, 7, 2, 2])
assert_equal(3, t.left_size)
assert_equal(1, t.mid_size)
assert_equal(2, t.right_size)
assert_equal(7, t.total_size)
end
def test_building
t = TernaryTree.new()
t.add(5)
assert_equal(0, t.left_size)
assert_equal(0, t.mid_size)
assert_equal(0, t.right_size)
assert_equal(1, t.total_size)
t.add(4)
assert_equal(1, t.left_size)
assert_equal(0, t.mid_size)
assert_equal(0, t.right_size)
assert_equal(2, t.total_size)
t.add(9)
assert_equal(1, t.left_size)
assert_equal(0, t.mid_size)
assert_equal(1, t.right_size)
assert_equal(3, t.total_size)
t.add(5)
assert_equal(1, t.left_size)
assert_equal(1, t.mid_size)
assert_equal(1, t.right_size)
assert_equal(4, t.total_size)
t.add(7)
assert_equal(1, t.left_size)
assert_equal(1, t.mid_size)
assert_equal(2, t.right_size)
assert_equal(5, t.total_size)
t.add(2)
assert_equal(2, t.left_size)
assert_equal(1, t.mid_size)
assert_equal(2, t.right_size)
assert_equal(6, t.total_size)
t.add(2)
assert_equal(3, t.left_size)
assert_equal(1, t.mid_size)
assert_equal(2, t.right_size)
assert_equal(7, t.total_size)
end
def test_float_valid
t = TernaryTree.new([5.0, 4.0, 9.0, 5.0, 7.0, 2.0, 2.0])
assert_equal(3, t.left_size)
assert_equal(1, t.mid_size)
assert_equal(2, t.right_size)
assert_equal(7, t.total_size)
end
def test_char_valid
t = TernaryTree.new(['e', 'd', 'i', 'e', 'g', 'b', 'b'])
assert_equal(3, t.left_size)
assert_equal(1, t.mid_size)
assert_equal(2, t.right_size)
assert_equal(7, t.total_size)
end
end