diff options
Diffstat (limited to 'gen/test')
-rw-r--r-- | gen/test/gleam@dynamic_test.erl | 170 | ||||
-rw-r--r-- | gen/test/gleam@list_test.erl | 18 | ||||
-rw-r--r-- | gen/test/gleam@map_test.erl | 2 | ||||
-rw-r--r-- | gen/test/gleam@result_test.erl | 6 |
4 files changed, 183 insertions, 13 deletions
diff --git a/gen/test/gleam@dynamic_test.erl b/gen/test/gleam@dynamic_test.erl new file mode 100644 index 0000000..d233dbc --- /dev/null +++ b/gen/test/gleam@dynamic_test.erl @@ -0,0 +1,170 @@ +-module(gleam@dynamic_test). +-compile(no_auto_import). + +-export([string_test/0, int_test/0, float_test/0, thunk_test/0, bool_test/0, atom_test/0, list_test/0, field_test/0]). + +string_test() -> + gleam@expect:equal( + gleam@dynamic:string(gleam@dynamic:from(<<"">>)), + {ok, <<"">>} + ), + gleam@expect:equal( + gleam@dynamic:string(gleam@dynamic:from(<<"Hello">>)), + {ok, <<"Hello">>} + ), + gleam@expect:equal( + gleam@dynamic:string(gleam@dynamic:from(1)), + {error, <<"Expected a String, got `1`">>} + ), + gleam@expect:equal( + gleam@dynamic:string(gleam@dynamic:from([])), + {error, <<"Expected a String, got `[]`">>} + ). + +int_test() -> + gleam@expect:equal(gleam@dynamic:int(gleam@dynamic:from(1)), {ok, 1}), + gleam@expect:equal(gleam@dynamic:int(gleam@dynamic:from(2)), {ok, 2}), + gleam@expect:equal( + gleam@dynamic:int(gleam@dynamic:from(1.0)), + {error, <<"Expected an Int, got `1.0`">>} + ), + gleam@expect:equal( + gleam@dynamic:int(gleam@dynamic:from([])), + {error, <<"Expected an Int, got `[]`">>} + ). + +float_test() -> + gleam@expect:equal(gleam@dynamic:float(gleam@dynamic:from(1.0)), {ok, 1.0}), + gleam@expect:equal(gleam@dynamic:float(gleam@dynamic:from(2.2)), {ok, 2.2}), + gleam@expect:equal( + gleam@dynamic:float(gleam@dynamic:from(1)), + {error, <<"Expected a Float, got `1`">>} + ), + gleam@expect:equal( + gleam@dynamic:float(gleam@dynamic:from([])), + {error, <<"Expected a Float, got `[]`">>} + ). + +thunk_test() -> + gleam@expect:is_ok(gleam@dynamic:thunk(gleam@dynamic:from(fun() -> 1 end))), + gleam@expect:equal( + gleam@result:map( + gleam@dynamic:thunk(gleam@dynamic:from(fun() -> 1 end)), + fun(F) -> F() end + ), + {ok, gleam@dynamic:from(1)} + ), + gleam@expect:is_error( + gleam@dynamic:thunk(gleam@dynamic:from(fun(X) -> X end)) + ), + gleam@expect:is_error(gleam@dynamic:thunk(gleam@dynamic:from(1))), + gleam@expect:is_error(gleam@dynamic:thunk(gleam@dynamic:from([]))). + +bool_test() -> + gleam@expect:equal( + gleam@dynamic:bool(gleam@dynamic:from(true)), + {ok, true} + ), + gleam@expect:equal( + gleam@dynamic:bool(gleam@dynamic:from(false)), + {ok, false} + ), + gleam@expect:equal( + gleam@dynamic:bool(gleam@dynamic:from(1)), + {error, <<"Expected a Bool, got `1`">>} + ), + gleam@expect:equal( + gleam@dynamic:bool(gleam@dynamic:from([])), + {error, <<"Expected a Bool, got `[]`">>} + ). + +atom_test() -> + gleam@expect:equal( + gleam@dynamic:atom( + gleam@dynamic:from(gleam@atom:create_from_string(<<"">>)) + ), + {ok, gleam@atom:create_from_string(<<"">>)} + ), + gleam@expect:equal( + gleam@dynamic:atom( + gleam@dynamic:from(gleam@atom:create_from_string(<<"ok">>)) + ), + {ok, gleam@atom:create_from_string(<<"ok">>)} + ), + gleam@expect:is_error(gleam@dynamic:atom(gleam@dynamic:from(1))), + gleam@expect:is_error(gleam@dynamic:atom(gleam@dynamic:from([]))). + +list_test() -> + gleam@expect:equal( + gleam@dynamic:list(gleam@dynamic:from([]), fun gleam@dynamic:string/1), + {ok, []} + ), + gleam@expect:equal( + gleam@dynamic:list(gleam@dynamic:from([]), fun gleam@dynamic:int/1), + {ok, []} + ), + gleam@expect:equal( + gleam@dynamic:list( + gleam@dynamic:from([1, 2, 3]), + fun gleam@dynamic:int/1 + ), + {ok, [1, 2, 3]} + ), + gleam@expect:equal( + gleam@dynamic:list( + gleam@dynamic:from([[1], [2], [3]]), + fun(Capture1) -> + gleam@dynamic:list(Capture1, fun gleam@dynamic:int/1) + end + ), + {ok, [[1], [2], [3]]} + ), + gleam@expect:is_error( + gleam@dynamic:list(gleam@dynamic:from(1), fun gleam@dynamic:string/1) + ), + gleam@expect:is_error( + gleam@dynamic:list(gleam@dynamic:from(1.0), fun gleam@dynamic:int/1) + ), + gleam@expect:is_error( + gleam@dynamic:list( + gleam@dynamic:from([<<"">>]), + fun gleam@dynamic:int/1 + ) + ), + gleam@expect:is_error( + gleam@dynamic:list( + gleam@dynamic:from( + [gleam@dynamic:from(1), gleam@dynamic:from(<<"not an int">>)] + ), + fun gleam@dynamic:int/1 + ) + ). + +field_test() -> + {ok, OkAtom} = gleam@atom:from_string(<<"ok">>), + {ok, ErrorAtom} = gleam@atom:from_string(<<"error">>), + gleam@expect:equal( + gleam@dynamic:field( + gleam@dynamic:from(gleam@map:insert(gleam@map:new(), OkAtom, 1)), + OkAtom + ), + {ok, gleam@dynamic:from(1)} + ), + gleam@expect:equal( + gleam@dynamic:field( + gleam@dynamic:from( + gleam@map:insert( + gleam@map:insert(gleam@map:new(), OkAtom, 3), + ErrorAtom, + 1 + ) + ), + OkAtom + ), + {ok, gleam@dynamic:from(3)} + ), + gleam@expect:is_error( + gleam@dynamic:field(gleam@dynamic:from(gleam@map:new()), OkAtom) + ), + gleam@expect:is_error(gleam@dynamic:field(gleam@dynamic:from(1), OkAtom)), + gleam@expect:is_error(gleam@dynamic:field(gleam@dynamic:from([]), [])). diff --git a/gen/test/gleam@list_test.erl b/gen/test/gleam@list_test.erl index 6281c9e..42588da 100644 --- a/gen/test/gleam@list_test.erl +++ b/gen/test/gleam@list_test.erl @@ -42,14 +42,14 @@ filter_test() -> [5, 7] ), gleam@expect:equal( - gleam@list:filter([0, 4, 5, 7, 3], fun(X) -> X < 4 end), + gleam@list:filter([0, 4, 5, 7, 3], fun(X1) -> X1 < 4 end), [0, 3] ). map_test() -> gleam@expect:equal(gleam@list:map([], fun(X) -> X * 2 end), []), gleam@expect:equal( - gleam@list:map([0, 4, 5, 7, 3], fun(X) -> X * 2 end), + gleam@list:map([0, 4, 5, 7, 3], fun(X1) -> X1 * 2 end), [0, 8, 10, 14, 6] ). @@ -126,7 +126,7 @@ all_test() -> true ), gleam@expect:equal( - gleam@list:all([1, 2, 3, 4, 5], fun(X) -> X < 0 end), + gleam@list:all([1, 2, 3, 4, 5], fun(X1) -> X1 < 0 end), false ), gleam@expect:equal(gleam@list:all([], fun(_) -> false end), true). @@ -137,7 +137,7 @@ any_test() -> true ), gleam@expect:equal( - gleam@list:any([1, 2, 3, 4, 5], fun(X) -> X < 0 end), + gleam@list:any([1, 2, 3, 4, 5], fun(X1) -> X1 < 0 end), false ), gleam@expect:equal(gleam@list:any([], fun(_) -> false end), false). @@ -216,7 +216,7 @@ index_map_test() -> gleam@list:index_map([3, 4, 5], fun(I, X) -> {I, X} end), [{0, 3}, {1, 4}, {2, 5}] ), - F = fun(I, X) -> gleam@string:append(X, gleam@int:to_string(I)) end, + F = fun(I1, X1) -> gleam@string:append(X1, gleam@int:to_string(I1)) end, gleam@expect:equal( gleam@list:index_map([<<"a">>, <<"b">>, <<"c">>], F), [<<"a0">>, <<"b1">>, <<"c2">>] @@ -268,19 +268,19 @@ split_while_test() -> {[], []} ), gleam@expect:equal( - gleam@list:split_while([1, 2, 3, 4, 5], fun(X) -> X =< 5 end), + gleam@list:split_while([1, 2, 3, 4, 5], fun(X1) -> X1 =< 5 end), {[1, 2, 3, 4, 5], []} ), gleam@expect:equal( - gleam@list:split_while([1, 2, 3, 4, 5], fun(X) -> X =:= 2 end), + gleam@list:split_while([1, 2, 3, 4, 5], fun(X2) -> X2 =:= 2 end), {[], [1, 2, 3, 4, 5]} ), gleam@expect:equal( - gleam@list:split_while([1, 2, 3, 4, 5], fun(X) -> X =< 3 end), + gleam@list:split_while([1, 2, 3, 4, 5], fun(X3) -> X3 =< 3 end), {[1, 2, 3], [4, 5]} ), gleam@expect:equal( - gleam@list:split_while([1, 2, 3, 4, 5], fun(X) -> X =< -3 end), + gleam@list:split_while([1, 2, 3, 4, 5], fun(X4) -> X4 =< -3 end), {[], [1, 2, 3, 4, 5]} ). diff --git a/gen/test/gleam@map_test.erl b/gen/test/gleam@map_test.erl index 5409e85..50dba1a 100644 --- a/gen/test/gleam@map_test.erl +++ b/gen/test/gleam@map_test.erl @@ -145,6 +145,6 @@ fold_test() -> ), 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, + Concat = fun(K, _, Acc1) -> gleam@string:append(Acc1, K) end, gleam@expect:equal(gleam@map:fold(Dict, <<"">>, Concat), <<"abcd">>), gleam@expect:equal(gleam@map:fold(gleam@map:from_list([]), 0, Add), 0). diff --git a/gen/test/gleam@result_test.erl b/gen/test/gleam@result_test.erl index ee32547..ae6b760 100644 --- a/gen/test/gleam@result_test.erl +++ b/gen/test/gleam@result_test.erl @@ -18,7 +18,7 @@ map_test() -> {ok, <<"2">>} ), gleam@expect:equal( - gleam@result:map({error, 1}, fun(X) -> X + 1 end), + gleam@result:map({error, 1}, fun(X1) -> X1 + 1 end), {error, 1} ). @@ -28,7 +28,7 @@ map_error_test() -> {ok, 1} ), gleam@expect:equal( - gleam@result:map_error({error, 1}, fun(X) -> {<<"ok">>, X + 1} end), + gleam@result:map_error({error, 1}, fun(X1) -> {<<"ok">>, X1 + 1} end), {error, {<<"ok">>, 2}} ). @@ -47,7 +47,7 @@ then_test() -> {error, 1} ), gleam@expect:equal( - gleam@result:then({ok, 1}, fun(X) -> {ok, X + 1} end), + gleam@result:then({ok, 1}, fun(X1) -> {ok, X1 + 1} end), {ok, 2} ), gleam@expect:equal( |