Current section

Files

Jump to
gleam_stdlib gen test gleam@set_test.erl
Raw

gen/test/gleam@set_test.erl

-module(gleam@set_test).
-compile(no_auto_import).
-export([size_test/0, contains_test/0, delete_test/0, to_list_test/0, from_list_test/0, fold_test/0, filter_test/0, take_test/0, union_test/0, intersection_test/0]).
-spec size_test() -> nil.
size_test() ->
_pipe = gleam@set:new(),
_pipe@1 = gleam@set:size(_pipe),
gleam@should:equal(_pipe@1, 0),
_pipe@2 = gleam@set:new(),
_pipe@3 = gleam@set:insert(_pipe@2, 1),
_pipe@4 = gleam@set:insert(_pipe@3, 2),
_pipe@5 = gleam@set:size(_pipe@4),
gleam@should:equal(_pipe@5, 2),
_pipe@6 = gleam@set:new(),
_pipe@7 = gleam@set:insert(_pipe@6, 1),
_pipe@8 = gleam@set:insert(_pipe@7, 1),
_pipe@9 = gleam@set:insert(_pipe@8, 2),
_pipe@10 = gleam@set:size(_pipe@9),
gleam@should:equal(_pipe@10, 2).
-spec contains_test() -> nil.
contains_test() ->
_pipe = gleam@set:new(),
_pipe@1 = gleam@set:insert(_pipe, 1),
_pipe@2 = gleam@set:contains(_pipe@1, 1),
gleam@should:be_true(_pipe@2),
_pipe@3 = gleam@set:new(),
_pipe@4 = gleam@set:contains(_pipe@3, 1),
gleam@should:be_false(_pipe@4).
-spec delete_test() -> nil.
delete_test() ->
_pipe = gleam@set:new(),
_pipe@1 = gleam@set:insert(_pipe, 1),
_pipe@2 = gleam@set:delete(_pipe@1, 1),
_pipe@3 = gleam@set:contains(_pipe@2, 1),
gleam@should:be_false(_pipe@3).
-spec to_list_test() -> nil.
to_list_test() ->
_pipe = gleam@set:new(),
_pipe@1 = gleam@set:insert(_pipe, 2),
_pipe@2 = gleam@set:insert(_pipe@1, 3),
_pipe@3 = gleam@set:insert(_pipe@2, 4),
_pipe@4 = gleam@set:to_list(_pipe@3),
_pipe@5 = gleam@list:sort(_pipe@4, fun gleam@int:compare/2),
gleam@should:equal(_pipe@5, [2, 3, 4]).
-spec from_list_test() -> nil.
from_list_test() ->
_pipe = [1, 1, 2, 4, 3, 2],
_pipe@1 = gleam@set:from_list(_pipe),
_pipe@2 = gleam@set:to_list(_pipe@1),
_pipe@3 = gleam@list:sort(_pipe@2, fun gleam@int:compare/2),
gleam@should:equal(_pipe@3, [1, 2, 3, 4]).
-spec fold_test() -> integer().
fold_test() ->
_pipe = [1, 3, 9],
_pipe@1 = gleam@set:from_list(_pipe),
gleam@set:fold(_pipe@1, 0, fun(M, A) -> M + A end).
-spec filter_test() -> nil.
filter_test() ->
_pipe = [1, 4, 6, 3, 675, 44, 67],
_pipe@1 = gleam@set:from_list(_pipe),
_pipe@2 = gleam@set:filter(_pipe@1, fun gleam@int:is_even/1),
_pipe@3 = gleam@set:to_list(_pipe@2),
gleam@should:equal(_pipe@3, [4, 6, 44]).
-spec take_test() -> nil.
take_test() ->
_pipe = [1, 2, 3],
_pipe@1 = gleam@set:from_list(_pipe),
_pipe@2 = gleam@set:take(_pipe@1, [1, 3, 5]),
gleam@should:equal(_pipe@2, gleam@set:from_list([1, 3])).
-spec union_test() -> nil.
union_test() ->
_pipe = gleam@set:union(
gleam@set:from_list([1, 2]),
gleam@set:from_list([2, 3])
),
_pipe@1 = gleam@set:to_list(_pipe),
gleam@should:equal(_pipe@1, [1, 2, 3]).
-spec intersection_test() -> nil.
intersection_test() ->
_pipe = gleam@set:intersection(
gleam@set:from_list([1, 2]),
gleam@set:from_list([2, 3])
),
_pipe@1 = gleam@set:to_list(_pipe),
gleam@should:equal(_pipe@1, [2]).