Skip to content

Commit 755e03a

Browse files
committed
Remove generic type requirement
1 parent f182c99 commit 755e03a

File tree

2 files changed

+17
-17
lines changed

2 files changed

+17
-17
lines changed

exercises/binary-search-tree/spec/binary_search_tree_spec.cr

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ require "../src/*"
33

44
describe "Node" do
55
it "sets the root node" do
6-
root = Node(Int32).new(1)
6+
root = Node.new(1)
77
root.value.should eq(1)
88
end
99

1010
describe "#insert" do
1111
pending "inserts smaller values to the left" do
12-
tree = Node(Int32).new(4)
12+
tree = Node.new(4)
1313
tree.insert(2)
1414

1515
left = tree.left.not_nil!
@@ -19,7 +19,7 @@ describe "Node" do
1919
end
2020

2121
pending "inserts equal values to the left" do
22-
tree = Node(Int32).new(4)
22+
tree = Node.new(4)
2323
tree.insert(4)
2424

2525
left_node = tree.left.not_nil!
@@ -29,7 +29,7 @@ describe "Node" do
2929
end
3030

3131
pending "inserts greater values to the right" do
32-
tree = Node(Int32).new(4)
32+
tree = Node.new(4)
3333
tree.insert(5)
3434

3535
right_node = tree.right.not_nil!
@@ -41,21 +41,21 @@ describe "Node" do
4141

4242
describe "#search" do
4343
pending "will return a node if a search if successful" do
44-
tree = Node(Int32).new(5)
44+
tree = Node.new(5)
4545
tree.insert(1)
4646
node = tree.search(1).not_nil!
4747
node.value.should eq(1)
4848
end
4949

5050
pending "will return nil if a searched value is not found" do
51-
tree = Node(Int32).new(5)
51+
tree = Node.new(5)
5252
tree.search(4).should be_nil
5353
end
5454
end
5555

5656
describe "#each" do
5757
pending "traverses the tree in order" do
58-
tree = Node(Int32).new(5)
58+
tree = Node.new(5)
5959
tree.insert(1)
6060
tree.insert(6)
6161
tree.insert(7)
@@ -69,7 +69,7 @@ describe "Node" do
6969

7070
# Bonus!
7171
pending "is an Enumerable" do
72-
tree = Node(Int32).new(1)
72+
tree = Node.new(1)
7373
tree.insert(5)
7474
tree.insert(2)
7575
tree.should be_a(Enumerable(Int32))
@@ -79,7 +79,7 @@ describe "Node" do
7979

8080
# Advanced
8181
pending "will return an iterator if no block is provided" do
82-
tree = Node(Int32).new(1)
82+
tree = Node.new(1)
8383
tree.insert(5)
8484
tree.insert(2)
8585
iter = tree.each
@@ -90,7 +90,7 @@ describe "Node" do
9090

9191
# Bonus!
9292
pending "is Iterable" do
93-
tree = Node(Int32).new(100)
93+
tree = Node.new(100)
9494
tree.insert(50)
9595
tree.insert(20)
9696
tree.insert(30)
@@ -109,21 +109,21 @@ describe "Node" do
109109
# 3. Deleting a node with two children
110110
describe "#delete" do
111111
pending "can remove the root node" do
112-
tree = Node(Int32).new(5)
112+
tree = Node.new(5)
113113
tree.insert(2)
114114
tree.delete(5)
115115
tree.value.should eq(2)
116116
end
117117

118118
pending "removes a node with no children" do
119-
tree = Node(Int32).new(5)
119+
tree = Node.new(5)
120120
tree.insert(2)
121121
tree.delete(2)
122122
tree.left.should be_nil
123123
end
124124

125125
pending "removes a node with one child" do
126-
tree = Node(Int32).new(5)
126+
tree = Node.new(5)
127127
tree.insert(3)
128128
tree.insert(2)
129129
tree.delete(3)
@@ -135,7 +135,7 @@ describe "Node" do
135135
end
136136

137137
pending "removes a node with two children" do
138-
tree = Node(Int32).new(5)
138+
tree = Node.new(5)
139139
tree.insert(3)
140140
tree.insert(2)
141141
tree.insert(4)
@@ -148,7 +148,7 @@ describe "Node" do
148148
end
149149

150150
pending "removes a left node with two child (complex)" do
151-
tree = Node(Int32).new(10)
151+
tree = Node.new(10)
152152
tree.insert(5)
153153
tree.insert(2)
154154
tree.insert(4)
@@ -164,7 +164,7 @@ describe "Node" do
164164
end
165165

166166
pending "removes a right node with two children (complex)" do
167-
tree = Node(Int32).new(1)
167+
tree = Node.new(1)
168168
tree.insert(5)
169169
tree.insert(2)
170170
tree.insert(4)

exercises/binary-search-tree/src/example.cr

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ class Node(T)
66
property left : Node(T)?
77
property right : Node(T)?
88

9-
def initialize(@value : Comparable)
9+
def initialize(@value : T)
1010
end
1111

1212
def insert(new_value)

0 commit comments

Comments
 (0)