Skip to content

Commit 123d257

Browse files
authored
Add missing tests (#4)
1 parent 6b089f1 commit 123d257

File tree

1 file changed

+35
-9
lines changed

1 file changed

+35
-9
lines changed

test/runtests.jl

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ using Test
8181
tree[2] = 20
8282
tree[1] = 10
8383
tree[3] = 30
84+
# deleting a key that does not exist
85+
# does not change the tree
86+
delete!(tree, 4)
87+
@test tree === tree
8488
delete!(tree, 3)
8589
@test !isnothing(tree.root)
8690
@test !isnothing(tree.root.left)
@@ -94,25 +98,47 @@ using Test
9498

9599
# right rotate
96100
tree = AVLTree{Int,Int}()
97-
tree[4] = 40
101+
tree[3] = 30
98102
tree[2] = 20
99-
tree[5] = 50
103+
tree[10] = 0
100104
tree[1] = 10
101-
tree[3] = 30
102-
delete!(tree, 4)
105+
delete!(tree, 10)
103106
@test tree.root.key == 2
104107
@test tree.root.left.key == 1
105-
@test tree.root.right.key == 5
106-
@test tree.root.right.left.key == 3
108+
@test tree.root.right.key == 3
107109

108110
# left rotate
109-
# TODO
111+
tree = AVLTree{Int,Int}()
112+
tree[1] = 10
113+
tree[-10] = 0
114+
tree[2] = 20
115+
tree[3] = 30
116+
delete!(tree, -10)
117+
@test tree.root.key == 2
118+
@test tree.root.left.key == 1
119+
@test tree.root.right.key == 3
110120

111121
# left-right rotate
112-
# TODO
122+
tree = AVLTree{Int,Int}()
123+
tree[3] = 30
124+
tree[1] = 10
125+
tree[10] = 0
126+
tree[2] = 20
127+
delete!(tree, 10)
128+
@test tree.root.key == 2
129+
@test tree.root.left.key == 1
130+
@test tree.root.right.key == 3
113131

114132
# right-left rotate
115-
# TODO
133+
tree = AVLTree{Int,Int}()
134+
tree[1] = 10
135+
tree[-10] = 0
136+
tree[3] = 30
137+
tree[2] = 20
138+
delete!(tree, -10)
139+
@test tree.root.key == 2
140+
@test tree.root.left.key == 1
141+
@test tree.root.right.key == 3
116142

117143
# tree that accepts any types
118144
tree = AVLTree()

0 commit comments

Comments
 (0)