aboutsummaryrefslogtreecommitdiff
path: root/gen/test
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2019-09-15 21:05:05 +0100
committerLouis Pilfold <louis@lpil.uk>2019-09-15 21:06:35 +0100
commit0579308bf0559635e3742e7fa634648182d916c5 (patch)
tree3ef129b822133bd2d78ca19a123298e2e0fe3f04 /gen/test
parent3f316053c680448c4b81a2c04071f7cf81497c2b (diff)
downloadgleam_stdlib-0579308bf0559635e3742e7fa634648182d916c5.tar.gz
gleam_stdlib-0579308bf0559635e3742e7fa634648182d916c5.zip
Remove maps from stdlib
Diffstat (limited to 'gen/test')
-rw-r--r--gen/test/gleam@any_test.erl21
-rw-r--r--gen/test/gleam@map_dict_test.erl157
-rw-r--r--gen/test/gleam@map_test.erl150
3 files changed, 168 insertions, 160 deletions
diff --git a/gen/test/gleam@any_test.erl b/gen/test/gleam@any_test.erl
index c8deb45..e915fe7 100644
--- a/gen/test/gleam@any_test.erl
+++ b/gen/test/gleam@any_test.erl
@@ -151,14 +151,29 @@ struct2_test() ->
field_test() ->
{ok, OkAtom} = gleam@atom:from_string(<<"ok">>),
+ {ok, EarlierAtom} = gleam@atom:from_string(<<"earlier">>),
gleam@expect:equal(
- gleam@any:field(gleam@any:from(#{ok => 1}), OkAtom),
+ gleam@any:field(
+ gleam@any:from(gleam@map:put(gleam@map:new(), OkAtom, 1)),
+ OkAtom
+ ),
{ok, gleam@any:from(1)}
),
gleam@expect:equal(
- gleam@any:field(gleam@any:from(#{earlier => 2, ok => 3}), OkAtom),
+ gleam@any:field(
+ gleam@any:from(
+ gleam@map:put(
+ gleam@map:put(gleam@map:new(), OkAtom, 3),
+ EarlierAtom,
+ 1
+ )
+ ),
+ OkAtom
+ ),
{ok, gleam@any:from(3)}
),
- gleam@expect:is_error(gleam@any:field(gleam@any:from(#{}), OkAtom)),
+ gleam@expect:is_error(
+ gleam@any:field(gleam@any:from(gleam@map:new()), OkAtom)
+ ),
gleam@expect:is_error(gleam@any:field(gleam@any:from(1), OkAtom)),
gleam@expect:is_error(gleam@any:field(gleam@any:from([]), [])).
diff --git a/gen/test/gleam@map_dict_test.erl b/gen/test/gleam@map_dict_test.erl
deleted file mode 100644
index 98c1486..0000000
--- a/gen/test/gleam@map_dict_test.erl
+++ /dev/null
@@ -1,157 +0,0 @@
--module(gleam@map_dict_test).
--compile(no_auto_import).
-
--export([from_list_test/0, has_key_test/0, new_test/0, fetch_test/0, put_test/0, map_values_test/0, keys_test/0, values_test/0, take_test/0, drop_test/0, merge_test/0, delete_test/0, update_test/0, fold_test/0]).
-
-from_list_test() ->
- gleam@expect:equal(
- gleam@map_dict:size(gleam@map_dict:from_list([{4, 0}, {1, 0}])),
- 2
- ).
-
-has_key_test() ->
- gleam@expect:false(gleam@map_dict:has_key(gleam@map_dict:from_list([]), 1)),
- gleam@expect:true(
- gleam@map_dict:has_key(gleam@map_dict:from_list([{1, 0}]), 1)
- ),
- gleam@expect:true(
- gleam@map_dict:has_key(gleam@map_dict:from_list([{4, 0}, {1, 0}]), 1)
- ),
- gleam@expect:false(
- gleam@map_dict:has_key(gleam@map_dict:from_list([{4, 0}, {1, 0}]), 0)
- ).
-
-new_test() ->
- gleam@expect:equal(gleam@map_dict:size(gleam@map_dict:new()), 0),
- gleam@expect:equal(gleam@map_dict:to_list(gleam@map_dict:new()), []).
-
-fetch_test() ->
- Proplist = [{4, 0}, {1, 1}],
- M = gleam@map_dict:from_list(Proplist),
- gleam@expect:equal(gleam@map_dict:fetch(M, 4), {ok, 0}),
- gleam@expect:equal(gleam@map_dict:fetch(M, 1), {ok, 1}),
- gleam@expect:is_error(gleam@map_dict:fetch(M, 2)).
-
-put_test() ->
- gleam@expect:equal(
- gleam@map_dict:put(
- gleam@map_dict:put(
- gleam@map_dict:put(gleam@map_dict:new(), <<"a">>, 0),
- <<"b">>,
- 1
- ),
- <<"c">>,
- 2
- ),
- gleam@map_dict:from_list([{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}])
- ).
-
-map_values_test() ->
- gleam@expect:equal(
- gleam@map_dict:map_values(
- gleam@map_dict:from_list([{1, 0}, {2, 1}, {3, 2}]),
- fun(K, V) -> K + V end
- ),
- gleam@map_dict:from_list([{1, 1}, {2, 3}, {3, 5}])
- ).
-
-keys_test() ->
- gleam@expect:equal(
- gleam@map_dict:keys(
- gleam@map_dict:from_list([{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}])
- ),
- [<<"a">>, <<"b">>, <<"c">>]
- ).
-
-values_test() ->
- gleam@expect:equal(
- gleam@map_dict:values(
- gleam@map_dict:from_list([{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}])
- ),
- [0, 1, 2]
- ).
-
-take_test() ->
- gleam@expect:equal(
- gleam@map_dict:take(
- gleam@map_dict:from_list([{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}]),
- [<<"a">>, <<"b">>, <<"d">>]
- ),
- gleam@map_dict:from_list([{<<"a">>, 0}, {<<"b">>, 1}])
- ).
-
-drop_test() ->
- gleam@expect:equal(
- gleam@map_dict:drop(
- gleam@map_dict:from_list([{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}]),
- [<<"a">>, <<"b">>, <<"d">>]
- ),
- gleam@map_dict:from_list([{<<"c">>, 2}])
- ).
-
-merge_test() ->
- A = gleam@map_dict:from_list([{<<"a">>, 2}, {<<"c">>, 4}, {<<"d">>, 3}]),
- B = gleam@map_dict:from_list([{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}]),
- gleam@expect:equal(
- gleam@map_dict:merge(A, B),
- gleam@map_dict:from_list(
- [{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}, {<<"d">>, 3}]
- )
- ),
- gleam@expect:equal(
- gleam@map_dict:merge(B, A),
- gleam@map_dict:from_list(
- [{<<"a">>, 2}, {<<"b">>, 1}, {<<"c">>, 4}, {<<"d">>, 3}]
- )
- ).
-
-delete_test() ->
- gleam@expect:equal(
- gleam@map_dict:delete(
- gleam@map_dict:delete(
- gleam@map_dict:from_list(
- [{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}]
- ),
- <<"a">>
- ),
- <<"d">>
- ),
- gleam@map_dict:from_list([{<<"b">>, 1}, {<<"c">>, 2}])
- ).
-
-update_test() ->
- Dict = gleam@map_dict:from_list([{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}]),
- IncOrZero = fun(X) -> case X of
- {ok, I} ->
- I + 1;
-
- {error, _} ->
- 0
- end end,
- gleam@expect:equal(
- gleam@map_dict:update(Dict, <<"a">>, IncOrZero),
- gleam@map_dict:from_list([{<<"a">>, 1}, {<<"b">>, 1}, {<<"c">>, 2}])
- ),
- gleam@expect:equal(
- gleam@map_dict:update(Dict, <<"b">>, IncOrZero),
- gleam@map_dict:from_list([{<<"a">>, 0}, {<<"b">>, 2}, {<<"c">>, 2}])
- ),
- gleam@expect:equal(
- gleam@map_dict:update(Dict, <<"z">>, IncOrZero),
- gleam@map_dict:from_list(
- [{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}, {<<"z">>, 0}]
- )
- ).
-
-fold_test() ->
- Dict = gleam@map_dict:from_list(
- [{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}, {<<"d">>, 3}]
- ),
- Add = fun(_, V, Acc) -> V + Acc end,
- gleam@expect:equal(gleam@map_dict:fold(Dict, 0, Add), 6),
- Concat = fun(K, _, Acc) -> gleam@string:append(Acc, K) end,
- gleam@expect:equal(gleam@map_dict:fold(Dict, <<"">>, Concat), <<"abcd">>),
- gleam@expect:equal(
- gleam@map_dict:fold(gleam@map_dict:from_list([]), 0, Add),
- 0
- ).
diff --git a/gen/test/gleam@map_test.erl b/gen/test/gleam@map_test.erl
new file mode 100644
index 0000000..83a86f6
--- /dev/null
+++ b/gen/test/gleam@map_test.erl
@@ -0,0 +1,150 @@
+-module(gleam@map_test).
+-compile(no_auto_import).
+
+-export([from_list_test/0, has_key_test/0, new_test/0, fetch_test/0, put_test/0, map_values_test/0, keys_test/0, values_test/0, take_test/0, drop_test/0, merge_test/0, delete_test/0, update_test/0, fold_test/0]).
+
+from_list_test() ->
+ gleam@expect:equal(
+ gleam@map:size(gleam@map:from_list([{4, 0}, {1, 0}])),
+ 2
+ ).
+
+has_key_test() ->
+ gleam@expect:false(gleam@map:has_key(gleam@map:from_list([]), 1)),
+ gleam@expect:true(gleam@map:has_key(gleam@map:from_list([{1, 0}]), 1)),
+ gleam@expect:true(
+ gleam@map:has_key(gleam@map:from_list([{4, 0}, {1, 0}]), 1)
+ ),
+ gleam@expect:false(
+ gleam@map:has_key(gleam@map:from_list([{4, 0}, {1, 0}]), 0)
+ ).
+
+new_test() ->
+ gleam@expect:equal(gleam@map:size(gleam@map:new()), 0),
+ gleam@expect:equal(gleam@map:to_list(gleam@map:new()), []).
+
+fetch_test() ->
+ Proplist = [{4, 0}, {1, 1}],
+ M = gleam@map:from_list(Proplist),
+ gleam@expect:equal(gleam@map:fetch(M, 4), {ok, 0}),
+ gleam@expect:equal(gleam@map:fetch(M, 1), {ok, 1}),
+ gleam@expect:is_error(gleam@map:fetch(M, 2)).
+
+put_test() ->
+ gleam@expect:equal(
+ gleam@map:put(
+ gleam@map:put(
+ gleam@map:put(gleam@map:new(), <<"a">>, 0),
+ <<"b">>,
+ 1
+ ),
+ <<"c">>,
+ 2
+ ),
+ gleam@map:from_list([{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}])
+ ).
+
+map_values_test() ->
+ gleam@expect:equal(
+ gleam@map:map_values(
+ gleam@map:from_list([{1, 0}, {2, 1}, {3, 2}]),
+ fun(K, V) -> K + V end
+ ),
+ gleam@map:from_list([{1, 1}, {2, 3}, {3, 5}])
+ ).
+
+keys_test() ->
+ gleam@expect:equal(
+ gleam@map:keys(
+ gleam@map:from_list([{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}])
+ ),
+ [<<"a">>, <<"b">>, <<"c">>]
+ ).
+
+values_test() ->
+ gleam@expect:equal(
+ gleam@map:values(
+ gleam@map:from_list([{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}])
+ ),
+ [0, 1, 2]
+ ).
+
+take_test() ->
+ gleam@expect:equal(
+ gleam@map:take(
+ gleam@map:from_list([{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}]),
+ [<<"a">>, <<"b">>, <<"d">>]
+ ),
+ gleam@map:from_list([{<<"a">>, 0}, {<<"b">>, 1}])
+ ).
+
+drop_test() ->
+ gleam@expect:equal(
+ gleam@map:drop(
+ gleam@map:from_list([{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}]),
+ [<<"a">>, <<"b">>, <<"d">>]
+ ),
+ gleam@map:from_list([{<<"c">>, 2}])
+ ).
+
+merge_test() ->
+ A = gleam@map:from_list([{<<"a">>, 2}, {<<"c">>, 4}, {<<"d">>, 3}]),
+ B = gleam@map:from_list([{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}]),
+ gleam@expect:equal(
+ gleam@map:merge(A, B),
+ gleam@map:from_list(
+ [{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}, {<<"d">>, 3}]
+ )
+ ),
+ gleam@expect:equal(
+ gleam@map:merge(B, A),
+ gleam@map:from_list(
+ [{<<"a">>, 2}, {<<"b">>, 1}, {<<"c">>, 4}, {<<"d">>, 3}]
+ )
+ ).
+
+delete_test() ->
+ gleam@expect:equal(
+ gleam@map:delete(
+ gleam@map:delete(
+ gleam@map:from_list([{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}]),
+ <<"a">>
+ ),
+ <<"d">>
+ ),
+ gleam@map:from_list([{<<"b">>, 1}, {<<"c">>, 2}])
+ ).
+
+update_test() ->
+ Dict = gleam@map:from_list([{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}]),
+ IncOrZero = fun(X) -> case X of
+ {ok, I} ->
+ I + 1;
+
+ {error, _} ->
+ 0
+ end end,
+ gleam@expect:equal(
+ gleam@map:update(Dict, <<"a">>, IncOrZero),
+ gleam@map:from_list([{<<"a">>, 1}, {<<"b">>, 1}, {<<"c">>, 2}])
+ ),
+ gleam@expect:equal(
+ gleam@map:update(Dict, <<"b">>, IncOrZero),
+ gleam@map:from_list([{<<"a">>, 0}, {<<"b">>, 2}, {<<"c">>, 2}])
+ ),
+ gleam@expect:equal(
+ gleam@map:update(Dict, <<"z">>, IncOrZero),
+ gleam@map:from_list(
+ [{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}, {<<"z">>, 0}]
+ )
+ ).
+
+fold_test() ->
+ Dict = gleam@map:from_list(
+ [{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}, {<<"d">>, 3}]
+ ),
+ Add = fun(_, V, Acc) -> V + Acc end,
+ gleam@expect:equal(gleam@map:fold(Dict, 0, Add), 6),
+ Concat = fun(K, _, Acc) -> gleam@string:append(Acc, K) end,
+ gleam@expect:equal(gleam@map:fold(Dict, <<"">>, Concat), <<"abcd">>),
+ gleam@expect:equal(gleam@map:fold(gleam@map:from_list([]), 0, Add), 0).