diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/gleam/map_test.gleam | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/gleam/map_test.gleam b/test/gleam/map_test.gleam index 9b3fcfe..1c9f340 100644 --- a/test/gleam/map_test.gleam +++ b/test/gleam/map_test.gleam @@ -299,3 +299,40 @@ pub fn map_as_key_test() { |> map.get(a) |> should.equal(Ok("a3")) } + +pub fn large_n_test() { + let n = 10000 + let l = range(0, n, []) + + let m = list_to_map(l) + list.map(l, fn(i) { should.equal(map.get(m, i), Ok(i)) }) + + let m = grow_and_shrink_map(n, 0) + list.map(l, fn(i) { should.equal(map.get(m, i), Error(Nil)) }) +} + +pub fn size_test() { + let n = 1000 + let m = list_to_map(range(0, n, [])) + map.size(m) + |> should.equal(n) + + let m = grow_and_shrink_map(n, n / 2) + map.size(m) + |> should.equal(n / 2) + + let m = + grow_and_shrink_map(n, 0) + |> map.delete(0) + map.size(m) + |> should.equal(0) + + let m = list_to_map(range(0, 18, [])) + + map.insert(m, 1, 99) + |> map.size() + |> should.equal(18) + map.insert(m, 2, 99) + |> map.size() + |> should.equal(18) +} |