@@ -122,6 +122,12 @@ defmodule RedBlackTreeTest do
122
122
assert RedBlackTree . member? ( tree , :b ) == false
123
123
end
124
124
125
+ test "insert for floats" do
126
+ tree = RedBlackTree . new ( ) |> RedBlackTree . insert ( 1 , :bubbles )
127
+ updated = RedBlackTree . insert ( tree , 1.0 , :walrus )
128
+ assert RedBlackTree . size ( updated ) == 2
129
+ end
130
+
125
131
test "pop" , % { tree: tree } do
126
132
tree = RedBlackTree . insert ( tree , :a , 1 )
127
133
{ value , new_tree } = RedBlackTree . pop ( tree , :a )
@@ -134,7 +140,9 @@ defmodule RedBlackTreeTest do
134
140
135
141
tree = RedBlackTree . insert ( tree , :a , 1 ) |> RedBlackTree . insert ( :b , 2 )
136
142
result = RedBlackTree . reduce ( tree , 0 , fn { _ , v } , acc -> acc + v end )
143
+ result_l = RedBlackTree . reduce_left ( tree , 0 , fn acc , { _ , v } -> acc + v end )
137
144
assert result == 3
145
+ assert result_l == 3
138
146
end
139
147
140
148
test "fold_left" , % { tree: tree } do
@@ -158,6 +166,9 @@ defmodule RedBlackTreeTest do
158
166
end
159
167
160
168
test "reduce_nodes" do
169
+ assert RedBlackTree . reduce_nodes ( RedBlackTree . new ( ) , :unchanged , fn el , acc -> acc + el end ) ==
170
+ :unchanged
171
+
161
172
initial_tree = RedBlackTree . new ( d: 1 , b: 2 , f: 3 , g: 4 , c: 5 , a: 6 , e: 7 )
162
173
163
174
aggregator = fn % Node { key: key } , acc ->
0 commit comments