-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]).