Packages
gleam_stdlib
0.17.1
1.0.3
1.0.2
1.0.1
1.0.0
0.71.0
0.70.0
0.69.0
0.68.1
0.68.0
0.67.1
0.67.0
0.65.0
0.64.0
0.63.2
0.63.1
0.63.0
0.62.1
0.62.0
0.61.0
0.60.0
0.59.0
0.58.0
0.57.0
0.56.0
0.55.0
0.54.0
0.53.0
0.52.0
0.51.0
0.50.0
0.49.0
0.48.0
0.47.0
0.46.0
0.45.0
0.44.0
0.43.0
0.42.0
0.41.0
0.40.0
0.39.0
0.38.0
0.37.0
0.36.0
0.35.1
0.35.0
0.34.0
0.33.1
0.33.0
0.32.1
0.32.0
0.31.0
0.30.2
0.30.1
0.30.0
0.29.2
0.29.1
0.29.0
0.28.2
0.28.1
0.28.0
0.27.0
0.26.1
0.26.0
0.25.0
0.24.0
0.23.0
0.22.3
0.22.2
0.22.1
0.22.0
0.21.0
0.20.0
0.19.3
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.18.0-rc1
0.17.1
0.17.0
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.1
0.10.0
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.4.0-rc1
0.3.1
0.3.0
0.2.0
retired
A standard library for the Gleam programming language
Current section
Files
Jump to
Current section
Files
gen/test/gleam@queue_test.erl
-module(gleam@queue_test).
-compile(no_auto_import).
-export([from_and_to_list_test/0, is_empty_test/0, length_test/0, push_back_test/0, push_front_test/0, push_test/0, pop_back_test/0, pop_back_after_push_back_test/0, pop_back_after_push_test/0, pop_back_empty_test/0, pop_front_test/0, pop_front_after_push_front_test/0, pop_front_after_push_test/0, pop_front_empty_test/0, reverse_test/0, is_equal_test/0, is_logically_equal_test/0]).
-spec from_and_to_list_test() -> nil.
from_and_to_list_test() ->
_pipe = gleam@queue:from_list([]),
gleam@should:equal(_pipe, gleam@queue:new()),
_pipe@1 = [1],
_pipe@2 = gleam@queue:from_list(_pipe@1),
_pipe@3 = gleam@queue:to_list(_pipe@2),
gleam@should:equal(_pipe@3, [1]),
_pipe@4 = [1, 2],
_pipe@5 = gleam@queue:from_list(_pipe@4),
_pipe@6 = gleam@queue:to_list(_pipe@5),
gleam@should:equal(_pipe@6, [1, 2]),
_pipe@7 = [1, 2, 3],
_pipe@8 = gleam@queue:from_list(_pipe@7),
_pipe@9 = gleam@queue:to_list(_pipe@8),
gleam@should:equal(_pipe@9, [1, 2, 3]).
-spec is_empty_test() -> nil.
is_empty_test() ->
_pipe = gleam@queue:new(),
_pipe@1 = gleam@queue:is_empty(_pipe),
gleam@should:be_true(_pipe@1),
_pipe@2 = gleam@queue:from_list([<<""/utf8>>]),
_pipe@3 = gleam@queue:is_empty(_pipe@2),
gleam@should:be_false(_pipe@3).
-spec length_test() -> nil.
length_test() ->
Test = fun(Input) ->
_pipe = gleam@queue:from_list(Input),
_pipe@1 = gleam@queue:length(_pipe),
gleam@should:equal(_pipe@1, gleam@list:length(Input))
end,
Test([]),
Test([1]),
Test([1, 2]),
Test([1, 2, 1]),
Test([1, 2, 1, 5, 2, 7, 2, 7, 8, 4, 545]).
-spec push_back_test() -> nil.
push_back_test() ->
_pipe = [1, 2],
_pipe@1 = gleam@queue:from_list(_pipe),
_pipe@2 = gleam@queue:push_back(_pipe@1, 3),
_pipe@3 = gleam@queue:to_list(_pipe@2),
gleam@should:equal(_pipe@3, [1, 2, 3]),
_pipe@4 = gleam@queue:new(),
_pipe@5 = gleam@queue:push_back(_pipe@4, 1),
_pipe@6 = gleam@queue:push_back(_pipe@5, 2),
_pipe@7 = gleam@queue:push_back(_pipe@6, 3),
_pipe@8 = gleam@queue:to_list(_pipe@7),
gleam@should:equal(_pipe@8, [1, 2, 3]).
-spec push_front_test() -> nil.
push_front_test() ->
_pipe = [2, 3],
_pipe@1 = gleam@queue:from_list(_pipe),
_pipe@2 = gleam@queue:push_front(_pipe@1, 1),
_pipe@3 = gleam@queue:push_front(_pipe@2, 0),
_pipe@4 = gleam@queue:to_list(_pipe@3),
gleam@should:equal(_pipe@4, [0, 1, 2, 3]).
-spec push_test() -> nil.
push_test() ->
_pipe = gleam@queue:new(),
_pipe@1 = gleam@queue:push_front(_pipe, <<"b"/utf8>>),
_pipe@2 = gleam@queue:push_back(_pipe@1, <<"x"/utf8>>),
_pipe@3 = gleam@queue:push_front(_pipe@2, <<"a"/utf8>>),
_pipe@4 = gleam@queue:push_back(_pipe@3, <<"y"/utf8>>),
_pipe@5 = gleam@queue:to_list(_pipe@4),
gleam@should:equal(
_pipe@5,
[<<"a"/utf8>>, <<"b"/utf8>>, <<"x"/utf8>>, <<"y"/utf8>>]
).
-spec pop_back_test() -> nil.
pop_back_test() ->
{ok, Tup@1} = case begin
_pipe = [1, 2, 3],
_pipe@1 = gleam@queue:from_list(_pipe),
gleam@queue:pop_back(_pipe@1)
end of
{ok, Tup} -> {ok, Tup};
_try ->
erlang:error(#{gleam_error => assert,
message => <<"Assertion pattern match failed"/utf8>>,
value => _try,
module => <<"gleam/queue_test"/utf8>>,
function => <<"pop_back_test"/utf8>>,
line => 87})
end,
_pipe@2 = Tup@1,
_pipe@3 = gleam@pair:first(_pipe@2),
gleam@should:equal(_pipe@3, 3),
_pipe@4 = Tup@1,
_pipe@5 = gleam@pair:second(_pipe@4),
_pipe@6 = gleam@queue:is_equal(_pipe@5, gleam@queue:from_list([1, 2])),
gleam@should:be_true(_pipe@6).
-spec pop_back_after_push_back_test() -> nil.
pop_back_after_push_back_test() ->
{ok, Tup@1} = case begin
_pipe = gleam@queue:new(),
_pipe@1 = gleam@queue:push_back(_pipe, 1),
_pipe@2 = gleam@queue:push_back(_pipe@1, 2),
_pipe@3 = gleam@queue:push_back(_pipe@2, 3),
gleam@queue:pop_back(_pipe@3)
end of
{ok, Tup} -> {ok, Tup};
_try ->
erlang:error(#{gleam_error => assert,
message => <<"Assertion pattern match failed"/utf8>>,
value => _try,
module => <<"gleam/queue_test"/utf8>>,
function => <<"pop_back_after_push_back_test"/utf8>>,
line => 103})
end,
_pipe@4 = Tup@1,
_pipe@5 = gleam@pair:first(_pipe@4),
gleam@should:equal(_pipe@5, 3).
-spec pop_back_after_push_test() -> nil.
pop_back_after_push_test() ->
{ok, Tup@1} = case begin
_pipe = gleam@queue:new(),
_pipe@1 = gleam@queue:push_front(_pipe, <<"b"/utf8>>),
_pipe@2 = gleam@queue:push_back(_pipe@1, <<"x"/utf8>>),
_pipe@3 = gleam@queue:push_front(_pipe@2, <<"a"/utf8>>),
_pipe@4 = gleam@queue:push_back(_pipe@3, <<"y"/utf8>>),
gleam@queue:pop_back(_pipe@4)
end of
{ok, Tup} -> {ok, Tup};
_try ->
erlang:error(#{gleam_error => assert,
message => <<"Assertion pattern match failed"/utf8>>,
value => _try,
module => <<"gleam/queue_test"/utf8>>,
function => <<"pop_back_after_push_test"/utf8>>,
line => 116})
end,
_pipe@5 = Tup@1,
_pipe@6 = gleam@pair:first(_pipe@5),
gleam@should:equal(_pipe@6, <<"y"/utf8>>).
-spec pop_back_empty_test() -> nil.
pop_back_empty_test() ->
_pipe = gleam@queue:from_list([]),
_pipe@1 = gleam@queue:pop_back(_pipe),
gleam@should:equal(_pipe@1, {error, nil}).
-spec pop_front_test() -> nil.
pop_front_test() ->
{ok, Tup@1} = case begin
_pipe = [1, 2, 3],
_pipe@1 = gleam@queue:from_list(_pipe),
gleam@queue:pop_front(_pipe@1)
end of
{ok, Tup} -> {ok, Tup};
_try ->
erlang:error(#{gleam_error => assert,
message => <<"Assertion pattern match failed"/utf8>>,
value => _try,
module => <<"gleam/queue_test"/utf8>>,
function => <<"pop_front_test"/utf8>>,
line => 136})
end,
_pipe@2 = Tup@1,
_pipe@3 = gleam@pair:first(_pipe@2),
gleam@should:equal(_pipe@3, 1),
_pipe@4 = Tup@1,
_pipe@5 = gleam@pair:second(_pipe@4),
_pipe@6 = gleam@queue:is_equal(_pipe@5, gleam@queue:from_list([2, 3])),
gleam@should:be_true(_pipe@6).
-spec pop_front_after_push_front_test() -> nil.
pop_front_after_push_front_test() ->
{ok, Tup@1} = case begin
_pipe = gleam@queue:new(),
_pipe@1 = gleam@queue:push_front(_pipe, 3),
_pipe@2 = gleam@queue:push_front(_pipe@1, 2),
_pipe@3 = gleam@queue:push_front(_pipe@2, 1),
gleam@queue:pop_front(_pipe@3)
end of
{ok, Tup} -> {ok, Tup};
_try ->
erlang:error(#{gleam_error => assert,
message => <<"Assertion pattern match failed"/utf8>>,
value => _try,
module => <<"gleam/queue_test"/utf8>>,
function => <<"pop_front_after_push_front_test"/utf8>>,
line => 152})
end,
_pipe@4 = Tup@1,
_pipe@5 = gleam@pair:first(_pipe@4),
gleam@should:equal(_pipe@5, 1).
-spec pop_front_after_push_test() -> nil.
pop_front_after_push_test() ->
{ok, Tup@1} = case begin
_pipe = gleam@queue:new(),
_pipe@1 = gleam@queue:push_front(_pipe, <<"b"/utf8>>),
_pipe@2 = gleam@queue:push_back(_pipe@1, <<"x"/utf8>>),
_pipe@3 = gleam@queue:push_front(_pipe@2, <<"a"/utf8>>),
gleam@queue:pop_front(_pipe@3)
end of
{ok, Tup} -> {ok, Tup};
_try ->
erlang:error(#{gleam_error => assert,
message => <<"Assertion pattern match failed"/utf8>>,
value => _try,
module => <<"gleam/queue_test"/utf8>>,
function => <<"pop_front_after_push_test"/utf8>>,
line => 165})
end,
_pipe@4 = Tup@1,
_pipe@5 = gleam@pair:first(_pipe@4),
gleam@should:equal(_pipe@5, <<"a"/utf8>>).
-spec pop_front_empty_test() -> nil.
pop_front_empty_test() ->
_pipe = gleam@queue:from_list([]),
_pipe@1 = gleam@queue:pop_front(_pipe),
gleam@should:equal(_pipe@1, {error, nil}).
-spec reverse_test() -> nil.
reverse_test() ->
_pipe = gleam@queue:from_list([1, 2, 3]),
_pipe@1 = gleam@queue:reverse(_pipe),
_pipe@2 = gleam@queue:to_list(_pipe@1),
gleam@should:equal(_pipe@2, [3, 2, 1]),
_pipe@3 = gleam@queue:new(),
_pipe@4 = gleam@queue:push_back(_pipe@3, 1),
_pipe@5 = gleam@queue:push_back(_pipe@4, 2),
_pipe@6 = gleam@queue:push_back(_pipe@5, 3),
_pipe@7 = gleam@queue:reverse(_pipe@6),
_pipe@8 = gleam@queue:to_list(_pipe@7),
gleam@should:equal(_pipe@8, [3, 2, 1]),
_pipe@9 = gleam@queue:new(),
_pipe@10 = gleam@queue:push_front(_pipe@9, 1),
_pipe@11 = gleam@queue:push_front(_pipe@10, 2),
_pipe@12 = gleam@queue:push_front(_pipe@11, 3),
_pipe@13 = gleam@queue:reverse(_pipe@12),
_pipe@14 = gleam@queue:to_list(_pipe@13),
gleam@should:equal(_pipe@14, [1, 2, 3]),
_pipe@15 = gleam@queue:new(),
_pipe@16 = gleam@queue:push_front(_pipe@15, 1),
_pipe@17 = gleam@queue:push_front(_pipe@16, 2),
_pipe@18 = gleam@queue:push_back(_pipe@17, 3),
_pipe@19 = gleam@queue:push_back(_pipe@18, 4),
_pipe@20 = gleam@queue:reverse(_pipe@19),
_pipe@21 = gleam@queue:to_list(_pipe@20),
gleam@should:equal(_pipe@21, [4, 3, 1, 2]).
-spec is_equal_test() -> nil.
is_equal_test() ->
Should_equal = fun(A, B) ->
_pipe = A,
_pipe@1 = gleam@queue:is_equal(_pipe, B),
gleam@should:be_true(_pipe@1)
end,
Should_not_equal = fun(A@1, B@1) ->
_pipe@2 = A@1,
_pipe@3 = gleam@queue:is_equal(_pipe@2, B@1),
gleam@should:be_false(_pipe@3)
end,
Should_equal(gleam@queue:new(), gleam@queue:new()),
_pipe@4 = gleam@queue:new(),
_pipe@5 = gleam@queue:push_front(_pipe@4, 1),
Should_equal(
_pipe@5,
begin
_pipe@6 = gleam@queue:new(),
gleam@queue:push_back(_pipe@6, 1)
end
),
_pipe@7 = gleam@queue:new(),
_pipe@8 = gleam@queue:push_front(_pipe@7, 1),
Should_equal(
_pipe@8,
begin
_pipe@9 = gleam@queue:new(),
gleam@queue:push_front(_pipe@9, 1)
end
),
_pipe@10 = gleam@queue:new(),
_pipe@11 = gleam@queue:push_back(_pipe@10, 1),
_pipe@12 = gleam@queue:push_back(_pipe@11, 2),
Should_equal(
_pipe@12,
begin
_pipe@13 = gleam@queue:new(),
_pipe@14 = gleam@queue:push_front(_pipe@13, 2),
gleam@queue:push_front(_pipe@14, 1)
end
),
_pipe@15 = gleam@queue:new(),
_pipe@16 = gleam@queue:push_back(_pipe@15, 1),
Should_not_equal(
_pipe@16,
begin
_pipe@17 = gleam@queue:new(),
_pipe@18 = gleam@queue:push_front(_pipe@17, 2),
gleam@queue:push_front(_pipe@18, 1)
end
),
_pipe@19 = gleam@queue:new(),
_pipe@20 = gleam@queue:push_back(_pipe@19, 2),
_pipe@21 = gleam@queue:push_back(_pipe@20, 1),
Should_not_equal(
_pipe@21,
begin
_pipe@22 = gleam@queue:new(),
_pipe@23 = gleam@queue:push_front(_pipe@22, 2),
gleam@queue:push_front(_pipe@23, 1)
end
).
-spec is_logically_equal_test() -> nil.
is_logically_equal_test() ->
Both_even_or_odd = fun(A, B) ->
gleam@int:is_even(A)
=:= gleam@int:is_even(B)
end,
Should_equal = fun(A@1, B@1) ->
_pipe = A@1,
_pipe@1 = gleam@queue:is_logically_equal(_pipe, B@1, Both_even_or_odd),
gleam@should:be_true(_pipe@1)
end,
Should_not_equal = fun(A@2, B@2) ->
_pipe@2 = A@2,
_pipe@3 = gleam@queue:is_logically_equal(_pipe@2, B@2, Both_even_or_odd),
gleam@should:be_false(_pipe@3)
end,
Should_equal(gleam@queue:new(), gleam@queue:new()),
_pipe@4 = gleam@queue:new(),
_pipe@5 = gleam@queue:push_front(_pipe@4, 3),
Should_equal(
_pipe@5,
begin
_pipe@6 = gleam@queue:new(),
gleam@queue:push_back(_pipe@6, 1)
end
),
_pipe@7 = gleam@queue:new(),
_pipe@8 = gleam@queue:push_front(_pipe@7, 4),
Should_equal(
_pipe@8,
begin
_pipe@9 = gleam@queue:new(),
gleam@queue:push_back(_pipe@9, 2)
end
),
_pipe@10 = gleam@queue:new(),
_pipe@11 = gleam@queue:push_front(_pipe@10, 3),
Should_equal(
_pipe@11,
begin
_pipe@12 = gleam@queue:new(),
gleam@queue:push_front(_pipe@12, 1)
end
),
_pipe@13 = gleam@queue:new(),
_pipe@14 = gleam@queue:push_back(_pipe@13, 3),
_pipe@15 = gleam@queue:push_back(_pipe@14, 4),
Should_equal(
_pipe@15,
begin
_pipe@16 = gleam@queue:new(),
_pipe@17 = gleam@queue:push_front(_pipe@16, 2),
gleam@queue:push_front(_pipe@17, 1)
end
),
_pipe@18 = gleam@queue:new(),
_pipe@19 = gleam@queue:push_back(_pipe@18, 1),
Should_not_equal(
_pipe@19,
begin
_pipe@20 = gleam@queue:new(),
_pipe@21 = gleam@queue:push_front(_pipe@20, 2),
gleam@queue:push_front(_pipe@21, 1)
end
),
_pipe@22 = gleam@queue:new(),
_pipe@23 = gleam@queue:push_back(_pipe@22, 2),
_pipe@24 = gleam@queue:push_back(_pipe@23, 1),
Should_not_equal(
_pipe@24,
begin
_pipe@25 = gleam@queue:new(),
_pipe@26 = gleam@queue:push_front(_pipe@25, 2),
gleam@queue:push_front(_pipe@26, 1)
end
),
_pipe@27 = gleam@queue:new(),
_pipe@28 = gleam@queue:push_back(_pipe@27, 4),
_pipe@29 = gleam@queue:push_back(_pipe@28, 3),
Should_not_equal(
_pipe@29,
begin
_pipe@30 = gleam@queue:new(),
_pipe@31 = gleam@queue:push_front(_pipe@30, 2),
gleam@queue:push_front(_pipe@31, 1)
end
).