Skip to content

Commit f9eeb87

Browse files
authored
2025-01-23 v. 8.2.5.3: updated TreeNode initialization for tests
2 parents af282fe + 373f771 commit f9eeb87

12 files changed

+95
-389
lines changed

leetcode-ruby.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ require 'English'
55
::Gem::Specification.new do |s|
66
s.required_ruby_version = '>= 3.0'
77
s.name = 'leetcode-ruby'
8-
s.version = '8.2.5.2'
8+
s.version = '8.2.5.3'
99
s.license = 'MIT'
1010
s.files = ::Dir['lib/**/*.rb'] + %w[README.md]
1111
s.executable = 'leetcode-ruby'

test/medium/test_1008_construct_binary_search_tree_from_preorder_traversal.rb

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,8 @@ class ConstructBinarySearchTreeFromPreorderTraversalTest < ::Minitest::Test
99
def test_default_one
1010
assert(
1111
::TreeNode.are_equals(
12-
::TreeNode.new(
13-
8,
14-
::TreeNode.new(
15-
5,
16-
::TreeNode.new(1),
17-
::TreeNode.new(7)
18-
),
19-
::TreeNode.new(
20-
10,
21-
nil,
22-
::TreeNode.new(12)
23-
)
12+
::TreeNode.build_tree(
13+
[8, 5, 10, 1, 7, nil, 12]
2414
),
2515
bst_from_preorder(
2616
[8, 5, 1, 7, 10, 12]
@@ -32,10 +22,8 @@ def test_default_one
3222
def test_default_two
3323
assert(
3424
::TreeNode.are_equals(
35-
::TreeNode.new(
36-
1,
37-
nil,
38-
::TreeNode.new(3)
25+
::TreeNode.build_tree(
26+
[1, nil, 3]
3927
),
4028
bst_from_preorder(
4129
[1, 3]

test/medium/test_701_insert_into_a_binary_search_tree.rb

Lines changed: 24 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,12 @@ class InsertIntoABinarySearchTreeTest < ::Minitest::Test
99
def test_default_one
1010
assert(
1111
::TreeNode.are_equals(
12-
::TreeNode.new(
13-
4,
14-
::TreeNode.new(
15-
2,
16-
::TreeNode.new(1),
17-
::TreeNode.new(3)
18-
),
19-
::TreeNode.new(
20-
7,
21-
::TreeNode.new(5),
22-
nil
23-
)
12+
::TreeNode.build_tree(
13+
[4, 2, 7, 1, 3, 5]
2414
),
2515
insert_into_bst(
26-
::TreeNode.new(
27-
4,
28-
::TreeNode.new(
29-
2,
30-
::TreeNode.new(1),
31-
::TreeNode.new(3)
32-
),
33-
::TreeNode.new(7)
16+
::TreeNode.build_tree(
17+
[4, 2, 7, 1, 3]
3418
),
3519
5
3620
)
@@ -41,40 +25,32 @@ def test_default_one
4125
def test_default_two
4226
assert(
4327
::TreeNode.are_equals(
44-
::TreeNode.new(
45-
40,
46-
::TreeNode.new(
47-
20,
48-
::TreeNode.new(10),
49-
::TreeNode.new(
50-
30,
51-
::TreeNode.new(25),
52-
nil
53-
)
54-
),
55-
::TreeNode.new(
56-
60,
57-
::TreeNode.new(50),
58-
::TreeNode.new(70)
59-
)
28+
::TreeNode.build_tree(
29+
[40, 20, 60, 10, 30, 50, 70, nil, nil, 25]
6030
),
6131
insert_into_bst(
62-
::TreeNode.new(
63-
40,
64-
::TreeNode.new(
65-
20,
66-
::TreeNode.new(10),
67-
::TreeNode.new(30)
68-
),
69-
::TreeNode.new(
70-
60,
71-
::TreeNode.new(50),
72-
::TreeNode.new(70)
73-
)
32+
::TreeNode.build_tree(
33+
[40, 20, 60, 10, 30, 50, 70]
7434
),
7535
25
7636
)
7737
)
7838
)
7939
end
40+
41+
def test_default_three
42+
assert(
43+
::TreeNode.are_equals(
44+
::TreeNode.build_tree(
45+
[4, 2, 7, 1, 3, 5]
46+
),
47+
insert_into_bst(
48+
::TreeNode.build_tree(
49+
[4, 2, 7, 1, 3, nil, nil, nil, nil, nil, nil]
50+
),
51+
5
52+
)
53+
)
54+
)
55+
end
8056
end

test/medium/test_814_binary_tree_pruning.rb

Lines changed: 12 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,12 @@ class BinaryTreePruningTest < ::Minitest::Test
99
def test_default_one
1010
assert(
1111
::TreeNode.are_equals(
12-
::TreeNode.new(
13-
1,
14-
nil,
15-
::TreeNode.new(
16-
0,
17-
nil,
18-
::TreeNode.new(1)
19-
)
12+
::TreeNode.build_tree(
13+
[1, nil, 0, nil, 1]
2014
),
2115
prune_tree(
22-
::TreeNode.new(
23-
1,
24-
nil,
25-
::TreeNode.new(
26-
0,
27-
::TreeNode.new(0),
28-
::TreeNode.new(1)
29-
)
16+
::TreeNode.build_tree(
17+
[1, nil, 0, 0, 1]
3018
)
3119
)
3220
)
@@ -36,28 +24,12 @@ def test_default_one
3624
def test_default_two
3725
assert(
3826
::TreeNode.are_equals(
39-
::TreeNode.new(
40-
1,
41-
nil,
42-
::TreeNode.new(
43-
1,
44-
nil,
45-
::TreeNode.new(1)
46-
)
27+
::TreeNode.build_tree(
28+
[1, nil, 1, nil, 1]
4729
),
4830
prune_tree(
49-
::TreeNode.new(
50-
1,
51-
::TreeNode.new(
52-
0,
53-
::TreeNode.new(0),
54-
::TreeNode.new(0)
55-
),
56-
::TreeNode.new(
57-
1,
58-
::TreeNode.new(0),
59-
::TreeNode.new(1)
60-
)
31+
::TreeNode.build_tree(
32+
[1, 0, 1, 0, 0, 0, 1]
6133
)
6234
)
6335
)
@@ -67,42 +39,12 @@ def test_default_two
6739
def test_default_three
6840
assert(
6941
::TreeNode.are_equals(
70-
::TreeNode.new(
71-
1,
72-
::TreeNode.new(
73-
1,
74-
::TreeNode.new(
75-
1,
76-
::TreeNode.new(1),
77-
::TreeNode.new(1)
78-
)
79-
),
80-
::TreeNode.new(
81-
0,
82-
nil,
83-
::TreeNode.new(1)
84-
)
42+
::TreeNode.build_tree(
43+
[1, 1, 0, 1, 1, nil, 1]
8544
),
8645
prune_tree(
87-
::TreeNode.new(
88-
1,
89-
::TreeNode.new(
90-
1,
91-
::TreeNode.new(
92-
1,
93-
::TreeNode.new(
94-
1,
95-
::TreeNode.new(0),
96-
nil
97-
),
98-
::TreeNode.new(1)
99-
)
100-
),
101-
::TreeNode.new(
102-
0,
103-
::TreeNode.new(0),
104-
::TreeNode.new(1)
105-
)
46+
::TreeNode.build_tree(
47+
[1, 1, 0, 1, 1, 0, 1, 0]
10648
)
10749
)
10850
)

test/medium/test_889_construct_binary_tree_from_preorder_and_postorder_traversal.rb

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,8 @@ class ConstructBinaryTreeFromPreorderAndPostorderTraversalTest < ::Minitest::Tes
99
def test_default_one
1010
assert(
1111
::TreeNode.are_equals(
12-
::TreeNode.new(
13-
1,
14-
::TreeNode.new(
15-
2,
16-
::TreeNode.new(4),
17-
::TreeNode.new(5)
18-
),
19-
::TreeNode.new(
20-
3,
21-
::TreeNode.new(6),
22-
::TreeNode.new(7)
23-
)
12+
::TreeNode.build_tree(
13+
[1, 2, 3, 4, 5, 6, 7]
2414
),
2515
construct_from_pre_post(
2616
[1, 2, 4, 5, 3, 6, 7],
@@ -33,7 +23,9 @@ def test_default_one
3323
def test_default_two
3424
assert(
3525
::TreeNode.are_equals(
36-
::TreeNode.new(1),
26+
::TreeNode.build_tree(
27+
[1]
28+
),
3729
construct_from_pre_post(
3830
[1],
3931
[1]

test/medium/test_894_all_possible_full_binary_trees.rb

Lines changed: 12 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -8,70 +8,20 @@
88
class AllPossibleFullBinaryTreesTest < ::Minitest::Test
99
def test_default_one
1010
correct = [
11-
::TreeNode.new(
12-
0,
13-
::TreeNode.new(0),
14-
::TreeNode.new(
15-
0,
16-
::TreeNode.new(0),
17-
::TreeNode.new(
18-
0,
19-
::TreeNode.new(0),
20-
::TreeNode.new(0)
21-
)
22-
)
11+
::TreeNode.build_tree(
12+
[0, 0, 0, nil, nil, 0, 0, nil, nil, 0, 0]
2313
),
24-
::TreeNode.new(
25-
0,
26-
::TreeNode.new(0),
27-
::TreeNode.new(
28-
0,
29-
::TreeNode.new(
30-
0,
31-
::TreeNode.new(0),
32-
::TreeNode.new(0)
33-
),
34-
::TreeNode.new(0)
35-
)
14+
::TreeNode.build_tree(
15+
[0, 0, 0, nil, nil, 0, 0, 0, 0]
3616
),
37-
::TreeNode.new(
38-
0,
39-
::TreeNode.new(
40-
0,
41-
::TreeNode.new(0),
42-
::TreeNode.new(0)
43-
),
44-
::TreeNode.new(
45-
0,
46-
::TreeNode.new(0),
47-
::TreeNode.new(0)
48-
)
17+
::TreeNode.build_tree(
18+
[0, 0, 0, 0, 0, 0, 0]
4919
),
50-
::TreeNode.new(
51-
0,
52-
::TreeNode.new(
53-
0,
54-
::TreeNode.new(0),
55-
::TreeNode.new(
56-
0,
57-
::TreeNode.new(0),
58-
::TreeNode.new(0)
59-
)
60-
),
61-
::TreeNode.new(0)
20+
::TreeNode.build_tree(
21+
[0, 0, 0, 0, 0, nil, nil, nil, nil, 0, 0]
6222
),
63-
::TreeNode.new(
64-
0,
65-
::TreeNode.new(
66-
0,
67-
::TreeNode.new(
68-
0,
69-
::TreeNode.new(0),
70-
::TreeNode.new(0)
71-
),
72-
::TreeNode.new(0)
73-
),
74-
::TreeNode.new(0)
23+
::TreeNode.build_tree(
24+
[0, 0, 0, 0, 0, nil, nil, 0, 0]
7525
)
7626
]
7727

@@ -91,10 +41,8 @@ def test_default_one
9141

9242
def test_default_two
9343
correct = [
94-
::TreeNode.new(
95-
0,
96-
::TreeNode.new(0),
97-
::TreeNode.new(0)
44+
::TreeNode.build_tree(
45+
[0, 0, 0]
9846
)
9947
]
10048

0 commit comments

Comments
 (0)