diff options
author | Louis Pilfold <louis@lpil.uk> | 2019-06-25 22:48:07 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2019-06-25 22:48:07 +0100 |
commit | 2c2541750ca4b7b604070c75c18d84be833c97d5 (patch) | |
tree | f5e63d941a1c7e2c2d4dff1d81c43fa2766308ae /test/std/map_dict_test.gleam | |
parent | 96c20b8ebf8420fbba75c97fa08eaeb34e8dc394 (diff) | |
download | gleam_stdlib-2c2541750ca4b7b604070c75c18d84be833c97d5.tar.gz gleam_stdlib-2c2541750ca4b7b604070c75c18d84be833c97d5.zip |
stdlib namespace std -> gleam
Diffstat (limited to 'test/std/map_dict_test.gleam')
-rw-r--r-- | test/std/map_dict_test.gleam | 233 |
1 files changed, 0 insertions, 233 deletions
diff --git a/test/std/map_dict_test.gleam b/test/std/map_dict_test.gleam deleted file mode 100644 index 892bc5d..0000000 --- a/test/std/map_dict_test.gleam +++ /dev/null @@ -1,233 +0,0 @@ -import std/string -import std/expect -import std/map_dict - -pub fn from_list_test() { - [ - {4, 0}, - {1, 0}, - ] - |> map_dict:from_list - |> map_dict:size - |> expect:equal(_, 2) -} - -pub fn has_key_test() { - [] - |> map_dict:from_list - |> map_dict:has_key(_, 1) - |> expect:false - - [ - {1, 0}, - ] - |> map_dict:from_list - |> map_dict:has_key(_, 1) - |> expect:true - - [ - {4, 0}, - {1, 0}, - ] - |> map_dict:from_list - |> map_dict:has_key(_, 1) - |> expect:true - - [ - {4, 0}, - {1, 0}, - ] - |> map_dict:from_list - |> map_dict:has_key(_, 0) - |> expect:false -} - -pub fn new_test() { - map_dict:new() - |> map_dict:size - |> expect:equal(_, 0) - - map_dict:new() - |> map_dict:to_list - |> expect:equal(_, []) -} - -pub fn fetch_test() { - let proplist = [ - {4, 0}, - {1, 1}, - ] - let m = map_dict:from_list(proplist) - - m - |> map_dict:fetch(_, 4) - |> expect:equal(_, Ok(0)) - - m - |> map_dict:fetch(_, 1) - |> expect:equal(_, Ok(1)) - - m - |> map_dict:fetch(_, 2) - |> expect:is_error -} - -pub fn put_test() { - map_dict:new() - |> map_dict:put(_, "a", 0) - |> map_dict:put(_, "b", 1) - |> map_dict:put(_, "c", 2) - |> expect:equal(_, map_dict:from_list([{"a", 0}, {"b", 1}, {"c", 2}])) -} - -pub fn map_values_test() { - [ - {1, 0}, - {2, 1}, - {3, 2}, - ] - |> map_dict:from_list - |> map_dict:map_values(_, fn(k, v) { k + v }) - |> expect:equal(_, map_dict:from_list([{1, 1}, {2, 3}, {3, 5}])) -} - -pub fn keys_test() { - [ - {"a", 0}, - {"b", 1}, - {"c", 2}, - ] - |> map_dict:from_list - |> map_dict:keys - |> expect:equal(_, ["a", "b", "c"]) -} - -pub fn values_test() { - [ - {"a", 0}, - {"b", 1}, - {"c", 2}, - ] - |> map_dict:from_list - |> map_dict:values - |> expect:equal(_, [0, 1, 2]) -} - -pub fn take_test() { - [ - {"a", 0}, - {"b", 1}, - {"c", 2}, - ] - |> map_dict:from_list - |> map_dict:take(_, ["a", "b", "d"]) - |> expect:equal(_, map_dict:from_list([{"a", 0}, {"b", 1}])) -} - -pub fn drop_test() { - [ - {"a", 0}, - {"b", 1}, - {"c", 2}, - ] - |> map_dict:from_list - |> map_dict:drop(_, ["a", "b", "d"]) - |> expect:equal(_, map_dict:from_list([{"c", 2}])) -} - -pub fn merge_test() { - let a = map_dict:from_list([ - {"a", 2}, - {"c", 4}, - {"d", 3}, - ]) - let b = map_dict:from_list([ - {"a", 0}, - {"b", 1}, - {"c", 2}, - ]) - - map_dict:merge(a, b) - |> expect:equal(_, map_dict:from_list([ - {"a", 0}, - {"b", 1}, - {"c", 2}, - {"d", 3}, - ])) - - map_dict:merge(b, a) - |> expect:equal(_, map_dict:from_list([ - {"a", 2}, - {"b", 1}, - {"c", 4}, - {"d", 3}, - ])) -} - -pub fn delete_test() { - [ - {"a", 0}, - {"b", 1}, - {"c", 2}, - ] - |> map_dict:from_list - |> map_dict:delete(_, "a") - |> map_dict:delete(_, "d") - |> expect:equal(_, map_dict:from_list([{"b", 1}, {"c", 2}])) -} - -pub fn update_test() { - let dict = map_dict:from_list([ - {"a", 0}, - {"b", 1}, - {"c", 2}, - ]) - - let inc_or_zero = fn(x) { - case x { - | Ok(i) -> i + 1 - | Error(_) -> 0 - } - } - - dict - |> map_dict:update(_, "a", inc_or_zero) - |> expect:equal(_, map_dict:from_list([{"a", 1}, {"b", 1}, {"c", 2}])) - - dict - |> map_dict:update(_, "b", inc_or_zero) - |> expect:equal(_, map_dict:from_list([{"a", 0}, {"b", 2}, {"c", 2}])) - - dict - |> map_dict:update(_, "z", inc_or_zero) - |> expect:equal(_, map_dict:from_list([{"a", 0}, {"b", 1}, {"c", 2}, {"z", 0}])) -} - -pub fn fold_test() { - let dict = map_dict:from_list([ - {"a", 0}, - {"b", 1}, - {"c", 2}, - {"d", 3}, - ]) - - let add = fn(_, v, acc) { - v + acc - } - - dict - |> map_dict:fold(_, 0, add) - |> expect:equal(_, 6) - - let concat = fn(k, _, acc) { - string:append(acc, k) - } - - dict - |> map_dict:fold(_, "", concat) - |> expect:equal(_, "abcd") - - map_dict:from_list([]) - |> map_dict:fold(_, 0, add) - |> expect:equal(_, 0) -} |