Current section

Files

Jump to
gleam_stdlib gen test gleam@dynamic_test.erl
Raw

gen/test/gleam@dynamic_test.erl

-module(gleam@dynamic_test).
-compile(no_auto_import).
-export([bit_string_test/0, bit_string_erlang_test/0, string_test/0, string_non_utf8_test/0, int_test/0, float_test/0, float_on_js_is_also_int_test/0, bool_test/0, typed_list_test/0, optional_test/0, field_test/0, element_test/0, tuple2_test/0, typed_tuple2_test/0, tuple3_test/0, typed_tuple3_test/0, tuple4_test/0, typed_tuple4_test/0, tuple5_test/0, typed_tuple5_test/0, tuple6_test/0, typed_tuple6_test/0, map_test/0, list_test/0, result_test/0, typed_result_test/0]).
-spec bit_string_test() -> nil.
bit_string_test() ->
_pipe = <<>>,
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:bit_string(_pipe@1),
gleam@should:equal(_pipe@2, {ok, <<>>}),
_pipe@3 = <<"Hello"/utf8>>,
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:bit_string(_pipe@4),
gleam@should:equal(_pipe@5, {ok, <<"Hello"/utf8>>}),
_pipe@6 = 1,
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:bit_string(_pipe@7),
gleam@should:equal(
_pipe@8,
{error, {decode_error, <<"BitString"/utf8>>, <<"Int"/utf8>>}}
),
_pipe@9 = [],
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:bit_string(_pipe@10),
gleam@should:equal(
_pipe@11,
{error, {decode_error, <<"BitString"/utf8>>, <<"List"/utf8>>}}
).
-spec bit_string_erlang_test() -> nil.
bit_string_erlang_test() ->
_pipe = <<65535:16>>,
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:bit_string(_pipe@1),
gleam@should:equal(_pipe@2, {ok, <<65535:16>>}).
-spec string_test() -> nil.
string_test() ->
_pipe = <<""/utf8>>,
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:string(_pipe@1),
gleam@should:equal(_pipe@2, {ok, <<""/utf8>>}),
_pipe@3 = <<"Hello"/utf8>>,
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:string(_pipe@4),
gleam@should:equal(_pipe@5, {ok, <<"Hello"/utf8>>}),
_pipe@6 = 1,
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:string(_pipe@7),
gleam@should:equal(
_pipe@8,
{error, {decode_error, <<"String"/utf8>>, <<"Int"/utf8>>}}
),
_pipe@9 = [],
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:string(_pipe@10),
gleam@should:equal(
_pipe@11,
{error, {decode_error, <<"String"/utf8>>, <<"List"/utf8>>}}
).
-spec string_non_utf8_test() -> nil.
string_non_utf8_test() ->
_pipe = <<65535:16>>,
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:string(_pipe@1),
gleam@should:equal(
_pipe@2,
{error, {decode_error, <<"String"/utf8>>, <<"BitString"/utf8>>}}
).
-spec int_test() -> nil.
int_test() ->
_pipe = 1,
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:int(_pipe@1),
gleam@should:equal(_pipe@2, {ok, 1}),
_pipe@3 = 2,
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:int(_pipe@4),
gleam@should:equal(_pipe@5, {ok, 2}),
_pipe@6 = [],
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:int(_pipe@7),
gleam@should:equal(
_pipe@8,
{error, {decode_error, <<"Int"/utf8>>, <<"List"/utf8>>}}
).
-spec float_test() -> nil.
float_test() ->
_pipe = 1.0,
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:float(_pipe@1),
gleam@should:equal(_pipe@2, {ok, 1.0}),
_pipe@3 = 2.2,
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:float(_pipe@4),
gleam@should:equal(_pipe@5, {ok, 2.2}),
_pipe@6 = [],
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:float(_pipe@7),
gleam@should:equal(
_pipe@8,
{error, {decode_error, <<"Float"/utf8>>, <<"List"/utf8>>}}
).
-spec float_on_js_is_also_int_test() -> nil.
float_on_js_is_also_int_test() ->
_pipe = 1,
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:float(_pipe@1),
gleam@should:equal(
_pipe@2,
{error, {decode_error, <<"Float"/utf8>>, <<"Int"/utf8>>}}
),
_pipe@3 = 1.0,
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:int(_pipe@4),
gleam@should:equal(
_pipe@5,
{error, {decode_error, <<"Int"/utf8>>, <<"Float"/utf8>>}}
).
-spec bool_test() -> nil.
bool_test() ->
_pipe = true,
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:bool(_pipe@1),
gleam@should:equal(_pipe@2, {ok, true}),
_pipe@3 = false,
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:bool(_pipe@4),
gleam@should:equal(_pipe@5, {ok, false}),
_pipe@6 = 1,
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:bool(_pipe@7),
gleam@should:equal(
_pipe@8,
{error, {decode_error, <<"Bool"/utf8>>, <<"Int"/utf8>>}}
),
_pipe@9 = 1.5,
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:bool(_pipe@10),
gleam@should:equal(
_pipe@11,
{error, {decode_error, <<"Bool"/utf8>>, <<"Float"/utf8>>}}
),
_pipe@12 = [],
_pipe@13 = gleam@dynamic:from(_pipe@12),
_pipe@14 = gleam@dynamic:bool(_pipe@13),
gleam@should:equal(
_pipe@14,
{error, {decode_error, <<"Bool"/utf8>>, <<"List"/utf8>>}}
).
-spec typed_list_test() -> nil.
typed_list_test() ->
_pipe = [],
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:typed_list(_pipe@1, fun gleam@dynamic:string/1),
gleam@should:equal(_pipe@2, {ok, []}),
_pipe@3 = [],
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:typed_list(_pipe@4, fun gleam@dynamic:int/1),
gleam@should:equal(_pipe@5, {ok, []}),
_pipe@6 = [1, 2, 3],
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:typed_list(_pipe@7, fun gleam@dynamic:int/1),
gleam@should:equal(_pipe@8, {ok, [1, 2, 3]}),
_pipe@9 = [[1], [2], [3]],
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:typed_list(
_pipe@10,
fun(_capture) ->
gleam@dynamic:typed_list(_capture, fun gleam@dynamic:int/1)
end
),
gleam@should:equal(_pipe@11, {ok, [[1], [2], [3]]}),
_pipe@12 = 1,
_pipe@13 = gleam@dynamic:from(_pipe@12),
_pipe@14 = gleam@dynamic:typed_list(_pipe@13, fun gleam@dynamic:string/1),
gleam@should:be_error(_pipe@14),
_pipe@15 = 1.0,
_pipe@16 = gleam@dynamic:from(_pipe@15),
_pipe@17 = gleam@dynamic:typed_list(_pipe@16, fun gleam@dynamic:int/1),
gleam@should:be_error(_pipe@17),
_pipe@18 = [<<""/utf8>>],
_pipe@19 = gleam@dynamic:from(_pipe@18),
_pipe@20 = gleam@dynamic:typed_list(_pipe@19, fun gleam@dynamic:int/1),
gleam@should:be_error(_pipe@20),
_pipe@21 = [gleam@dynamic:from(1),
gleam@dynamic:from(<<"not an int"/utf8>>)],
_pipe@22 = gleam@dynamic:from(_pipe@21),
_pipe@23 = gleam@dynamic:typed_list(_pipe@22, fun gleam@dynamic:int/1),
gleam@should:be_error(_pipe@23).
-spec optional_test() -> nil.
optional_test() ->
_pipe = 1,
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:optional(_pipe@1, fun gleam@dynamic:int/1),
gleam@should:equal(_pipe@2, {ok, {some, 1}}),
_pipe@3 = none,
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:optional(_pipe@4, fun gleam@dynamic:int/1),
gleam@should:equal(_pipe@5, {ok, none}),
_pipe@6 = nil,
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:optional(_pipe@7, fun gleam@dynamic:int/1),
gleam@should:equal(_pipe@8, {ok, none}),
_pipe@9 = 1,
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:optional(_pipe@10, fun gleam@dynamic:string/1),
gleam@should:be_error(_pipe@11).
-spec field_test() -> nil.
field_test() ->
_pipe = gleam@map:new(),
_pipe@1 = gleam@map:insert(_pipe, <<"ok"/utf8>>, 1),
_pipe@2 = gleam@dynamic:from(_pipe@1),
_pipe@3 = gleam@dynamic:field(_pipe@2, <<"ok"/utf8>>),
gleam@should:equal(_pipe@3, {ok, gleam@dynamic:from(1)}),
_pipe@4 = gleam@map:new(),
_pipe@5 = gleam@map:insert(_pipe@4, <<"ok"/utf8>>, 3),
_pipe@6 = gleam@map:insert(_pipe@5, <<"error"/utf8>>, 1),
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:field(_pipe@7, <<"ok"/utf8>>),
gleam@should:equal(_pipe@8, {ok, gleam@dynamic:from(3)}),
_pipe@9 = gleam@map:new(),
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:field(_pipe@10, <<"ok"/utf8>>),
gleam@should:be_error(_pipe@11),
_pipe@12 = 1,
_pipe@13 = gleam@dynamic:from(_pipe@12),
_pipe@14 = gleam@dynamic:field(_pipe@13, <<"ok"/utf8>>),
gleam@should:be_error(_pipe@14),
_pipe@15 = [],
_pipe@16 = gleam@dynamic:from(_pipe@15),
_pipe@17 = gleam@dynamic:field(_pipe@16, []),
gleam@should:be_error(_pipe@17).
-spec element_test() -> nil.
element_test() ->
Ok_one_tuple = {<<"ok"/utf8>>, 1},
_pipe = Ok_one_tuple,
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:element(_pipe@1, 0),
gleam@should:equal(_pipe@2, {ok, gleam@dynamic:from(<<"ok"/utf8>>)}),
_pipe@3 = Ok_one_tuple,
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:element(_pipe@4, 1),
gleam@should:equal(_pipe@5, {ok, gleam@dynamic:from(1)}),
_pipe@6 = Ok_one_tuple,
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:element(_pipe@7, 2),
gleam@should:equal(
_pipe@8,
{error,
{decode_error,
<<"Tuple of at least 3 elements"/utf8>>,
<<"Tuple of 2 elements"/utf8>>}}
),
_pipe@9 = Ok_one_tuple,
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:element(_pipe@10, -1),
gleam@should:equal(_pipe@11, {ok, gleam@dynamic:from(1)}),
_pipe@12 = Ok_one_tuple,
_pipe@13 = gleam@dynamic:from(_pipe@12),
_pipe@14 = gleam@dynamic:element(_pipe@13, -3),
gleam@should:equal(
_pipe@14,
{error,
{decode_error,
<<"Tuple of at least 3 elements"/utf8>>,
<<"Tuple of 2 elements"/utf8>>}}
),
_pipe@15 = 1,
_pipe@16 = gleam@dynamic:from(_pipe@15),
_pipe@17 = gleam@dynamic:element(_pipe@16, -3),
gleam@should:equal(
_pipe@17,
{error, {decode_error, <<"Tuple"/utf8>>, <<"Int"/utf8>>}}
),
_pipe@18 = 1,
_pipe@19 = gleam@dynamic:from(_pipe@18),
_pipe@20 = gleam@dynamic:element(_pipe@19, 0),
gleam@should:equal(
_pipe@20,
{error, {decode_error, <<"Tuple"/utf8>>, <<"Int"/utf8>>}}
),
_pipe@21 = gleam@map:new(),
_pipe@22 = gleam@map:insert(_pipe@21, 1, <<"ok"/utf8>>),
_pipe@23 = gleam@dynamic:from(_pipe@22),
_pipe@24 = gleam@dynamic:element(_pipe@23, 0),
gleam@should:equal(
_pipe@24,
{error, {decode_error, <<"Tuple"/utf8>>, <<"Map"/utf8>>}}
).
-spec tuple2_test() -> nil.
tuple2_test() ->
_pipe = {1, 2},
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:tuple2(_pipe@1),
gleam@should:equal(
_pipe@2,
{ok, {gleam@dynamic:from(1), gleam@dynamic:from(2)}}
),
_pipe@3 = {1, <<""/utf8>>},
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:tuple2(_pipe@4),
gleam@should:equal(
_pipe@5,
{ok, {gleam@dynamic:from(1), gleam@dynamic:from(<<""/utf8>>)}}
),
_pipe@6 = {1, 2, 3},
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:tuple2(_pipe@7),
gleam@should:equal(
_pipe@8,
{error,
{decode_error,
<<"Tuple of 2 elements"/utf8>>,
<<"Tuple of 3 elements"/utf8>>}}
),
_pipe@9 = 1,
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:tuple2(_pipe@10),
gleam@should:equal(
_pipe@11,
{error, {decode_error, <<"Tuple of 2 elements"/utf8>>, <<"Int"/utf8>>}}
).
-spec typed_tuple2_test() -> nil.
typed_tuple2_test() ->
_pipe = {1, 2},
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:typed_tuple2(
_pipe@1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(_pipe@2, {ok, {1, 2}}),
_pipe@3 = {1, <<""/utf8>>},
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:typed_tuple2(
_pipe@4,
fun gleam@dynamic:int/1,
fun gleam@dynamic:string/1
),
gleam@should:equal(_pipe@5, {ok, {1, <<""/utf8>>}}),
_pipe@6 = {1, <<""/utf8>>},
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:typed_tuple2(
_pipe@7,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(
_pipe@8,
{error, {decode_error, <<"Int"/utf8>>, <<"String"/utf8>>}}
),
_pipe@9 = {1, 2, 3},
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:typed_tuple2(
_pipe@10,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(
_pipe@11,
{error,
{decode_error,
<<"Tuple of 2 elements"/utf8>>,
<<"Tuple of 3 elements"/utf8>>}}
),
_pipe@12 = 1,
_pipe@13 = gleam@dynamic:from(_pipe@12),
_pipe@14 = gleam@dynamic:typed_tuple2(
_pipe@13,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(
_pipe@14,
{error, {decode_error, <<"Tuple of 2 elements"/utf8>>, <<"Int"/utf8>>}}
).
-spec tuple3_test() -> nil.
tuple3_test() ->
_pipe = {1, 2, 3},
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:tuple3(_pipe@1),
gleam@should:equal(
_pipe@2,
{ok,
{gleam@dynamic:from(1), gleam@dynamic:from(2), gleam@dynamic:from(3)}}
),
_pipe@3 = {1, <<""/utf8>>, 3.0},
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:tuple3(_pipe@4),
gleam@should:equal(
_pipe@5,
{ok,
{gleam@dynamic:from(1),
gleam@dynamic:from(<<""/utf8>>),
gleam@dynamic:from(3.0)}}
),
_pipe@6 = {1, 2},
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:tuple3(_pipe@7),
gleam@should:equal(
_pipe@8,
{error,
{decode_error,
<<"Tuple of 3 elements"/utf8>>,
<<"Tuple of 2 elements"/utf8>>}}
),
_pipe@9 = 1,
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:tuple3(_pipe@10),
gleam@should:equal(
_pipe@11,
{error, {decode_error, <<"Tuple of 3 elements"/utf8>>, <<"Int"/utf8>>}}
).
-spec typed_tuple3_test() -> nil.
typed_tuple3_test() ->
_pipe = {1, 2, 3},
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:typed_tuple3(
_pipe@1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(_pipe@2, {ok, {1, 2, 3}}),
_pipe@3 = {1, <<""/utf8>>, 3.0},
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:typed_tuple3(
_pipe@4,
fun gleam@dynamic:int/1,
fun gleam@dynamic:string/1,
fun gleam@dynamic:float/1
),
gleam@should:equal(_pipe@5, {ok, {1, <<""/utf8>>, 3.0}}),
_pipe@6 = {1, 2, <<""/utf8>>},
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:typed_tuple3(
_pipe@7,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(
_pipe@8,
{error, {decode_error, <<"Int"/utf8>>, <<"String"/utf8>>}}
),
_pipe@9 = {1, 2},
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:typed_tuple3(
_pipe@10,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(
_pipe@11,
{error,
{decode_error,
<<"Tuple of 3 elements"/utf8>>,
<<"Tuple of 2 elements"/utf8>>}}
),
_pipe@12 = 1,
_pipe@13 = gleam@dynamic:from(_pipe@12),
_pipe@14 = gleam@dynamic:typed_tuple3(
_pipe@13,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(
_pipe@14,
{error, {decode_error, <<"Tuple of 3 elements"/utf8>>, <<"Int"/utf8>>}}
).
-spec tuple4_test() -> nil.
tuple4_test() ->
_pipe = {1, 2, 3, 4},
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:tuple4(_pipe@1),
gleam@should:equal(
_pipe@2,
{ok,
{gleam@dynamic:from(1),
gleam@dynamic:from(2),
gleam@dynamic:from(3),
gleam@dynamic:from(4)}}
),
_pipe@3 = {1, <<""/utf8>>, 3.0, 4},
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:tuple4(_pipe@4),
gleam@should:equal(
_pipe@5,
{ok,
{gleam@dynamic:from(1),
gleam@dynamic:from(<<""/utf8>>),
gleam@dynamic:from(3.0),
gleam@dynamic:from(4)}}
),
_pipe@6 = {1, 2},
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:tuple4(_pipe@7),
gleam@should:equal(
_pipe@8,
{error,
{decode_error,
<<"Tuple of 4 elements"/utf8>>,
<<"Tuple of 2 elements"/utf8>>}}
),
_pipe@9 = 1,
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:tuple4(_pipe@10),
gleam@should:equal(
_pipe@11,
{error, {decode_error, <<"Tuple of 4 elements"/utf8>>, <<"Int"/utf8>>}}
).
-spec typed_tuple4_test() -> nil.
typed_tuple4_test() ->
_pipe = {1, 2, 3, 4},
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:typed_tuple4(
_pipe@1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(_pipe@2, {ok, {1, 2, 3, 4}}),
_pipe@3 = {1, <<""/utf8>>, 3.0, 4},
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:typed_tuple4(
_pipe@4,
fun gleam@dynamic:int/1,
fun gleam@dynamic:string/1,
fun gleam@dynamic:float/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(_pipe@5, {ok, {1, <<""/utf8>>, 3.0, 4}}),
_pipe@6 = {1, 2, 3, <<""/utf8>>},
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:typed_tuple4(
_pipe@7,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(
_pipe@8,
{error, {decode_error, <<"Int"/utf8>>, <<"String"/utf8>>}}
),
_pipe@9 = {1, 2},
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:typed_tuple4(
_pipe@10,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(
_pipe@11,
{error,
{decode_error,
<<"Tuple of 4 elements"/utf8>>,
<<"Tuple of 2 elements"/utf8>>}}
),
_pipe@12 = 1,
_pipe@13 = gleam@dynamic:from(_pipe@12),
_pipe@14 = gleam@dynamic:typed_tuple4(
_pipe@13,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(
_pipe@14,
{error, {decode_error, <<"Tuple of 4 elements"/utf8>>, <<"Int"/utf8>>}}
).
-spec tuple5_test() -> nil.
tuple5_test() ->
_pipe = {1, 2, 3, 4, 5},
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:tuple5(_pipe@1),
gleam@should:equal(
_pipe@2,
{ok,
{gleam@dynamic:from(1),
gleam@dynamic:from(2),
gleam@dynamic:from(3),
gleam@dynamic:from(4),
gleam@dynamic:from(5)}}
),
_pipe@3 = {1, <<""/utf8>>, 3.0, 4, 5},
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:tuple5(_pipe@4),
gleam@should:equal(
_pipe@5,
{ok,
{gleam@dynamic:from(1),
gleam@dynamic:from(<<""/utf8>>),
gleam@dynamic:from(3.0),
gleam@dynamic:from(4),
gleam@dynamic:from(5)}}
),
_pipe@6 = {1, 2},
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:tuple5(_pipe@7),
gleam@should:equal(
_pipe@8,
{error,
{decode_error,
<<"Tuple of 5 elements"/utf8>>,
<<"Tuple of 2 elements"/utf8>>}}
),
_pipe@9 = 1,
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:tuple5(_pipe@10),
gleam@should:equal(
_pipe@11,
{error, {decode_error, <<"Tuple of 5 elements"/utf8>>, <<"Int"/utf8>>}}
).
-spec typed_tuple5_test() -> nil.
typed_tuple5_test() ->
_pipe = {1, 2, 3, 4, 5},
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:typed_tuple5(
_pipe@1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(_pipe@2, {ok, {1, 2, 3, 4, 5}}),
_pipe@3 = {1, <<""/utf8>>, 3.0, 4, 5},
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:typed_tuple5(
_pipe@4,
fun gleam@dynamic:int/1,
fun gleam@dynamic:string/1,
fun gleam@dynamic:float/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(_pipe@5, {ok, {1, <<""/utf8>>, 3.0, 4, 5}}),
_pipe@6 = {1, 2, 3, 4, <<""/utf8>>},
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:typed_tuple5(
_pipe@7,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(
_pipe@8,
{error, {decode_error, <<"Int"/utf8>>, <<"String"/utf8>>}}
),
_pipe@9 = {1, 2},
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:typed_tuple5(
_pipe@10,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(
_pipe@11,
{error,
{decode_error,
<<"Tuple of 5 elements"/utf8>>,
<<"Tuple of 2 elements"/utf8>>}}
),
_pipe@12 = 1,
_pipe@13 = gleam@dynamic:from(_pipe@12),
_pipe@14 = gleam@dynamic:typed_tuple5(
_pipe@13,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(
_pipe@14,
{error, {decode_error, <<"Tuple of 5 elements"/utf8>>, <<"Int"/utf8>>}}
).
-spec tuple6_test() -> nil.
tuple6_test() ->
_pipe = {1, 2, 3, 4, 5, 6},
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:tuple6(_pipe@1),
gleam@should:equal(
_pipe@2,
{ok,
{gleam@dynamic:from(1),
gleam@dynamic:from(2),
gleam@dynamic:from(3),
gleam@dynamic:from(4),
gleam@dynamic:from(5),
gleam@dynamic:from(6)}}
),
_pipe@3 = {1, <<""/utf8>>, 3.0, 4, 5, 6},
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:tuple6(_pipe@4),
gleam@should:equal(
_pipe@5,
{ok,
{gleam@dynamic:from(1),
gleam@dynamic:from(<<""/utf8>>),
gleam@dynamic:from(3.0),
gleam@dynamic:from(4),
gleam@dynamic:from(5),
gleam@dynamic:from(6)}}
),
_pipe@6 = {1, 2},
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:tuple6(_pipe@7),
gleam@should:equal(
_pipe@8,
{error,
{decode_error,
<<"Tuple of 6 elements"/utf8>>,
<<"Tuple of 2 elements"/utf8>>}}
),
_pipe@9 = 1,
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:tuple6(_pipe@10),
gleam@should:equal(
_pipe@11,
{error, {decode_error, <<"Tuple of 6 elements"/utf8>>, <<"Int"/utf8>>}}
).
-spec typed_tuple6_test() -> nil.
typed_tuple6_test() ->
_pipe = {1, 2, 3, 4, 5, 6},
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:typed_tuple6(
_pipe@1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(_pipe@2, {ok, {1, 2, 3, 4, 5, 6}}),
_pipe@3 = {1, <<""/utf8>>, 3.0, 4, 5, 6},
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:typed_tuple6(
_pipe@4,
fun gleam@dynamic:int/1,
fun gleam@dynamic:string/1,
fun gleam@dynamic:float/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(_pipe@5, {ok, {1, <<""/utf8>>, 3.0, 4, 5, 6}}),
_pipe@6 = {1, 2, 3, 4, 5, <<""/utf8>>},
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:typed_tuple6(
_pipe@7,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(
_pipe@8,
{error, {decode_error, <<"Int"/utf8>>, <<"String"/utf8>>}}
),
_pipe@9 = {1, 2},
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:typed_tuple6(
_pipe@10,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(
_pipe@11,
{error,
{decode_error,
<<"Tuple of 6 elements"/utf8>>,
<<"Tuple of 2 elements"/utf8>>}}
),
_pipe@12 = 1,
_pipe@13 = gleam@dynamic:from(_pipe@12),
_pipe@14 = gleam@dynamic:typed_tuple6(
_pipe@13,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:int/1
),
gleam@should:equal(
_pipe@14,
{error, {decode_error, <<"Tuple of 6 elements"/utf8>>, <<"Int"/utf8>>}}
).
-spec map_test() -> nil.
map_test() ->
_pipe = gleam@map:new(),
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:map(_pipe@1),
gleam@should:equal(_pipe@2, {ok, gleam@map:new()}),
_pipe@3 = 1,
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:map(_pipe@4),
gleam@should:equal(
_pipe@5,
{error, {decode_error, <<"Map"/utf8>>, <<"Int"/utf8>>}}
).
-spec list_test() -> nil.
list_test() ->
_pipe = [],
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:list(_pipe@1),
gleam@should:equal(_pipe@2, {ok, []}),
_pipe@3 = [1, 2],
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:list(_pipe@4),
gleam@should:equal(
_pipe@5,
{ok, [gleam@dynamic:from(1), gleam@dynamic:from(2)]}
),
_pipe@6 = [gleam@dynamic:from(1), gleam@dynamic:from(2.0)],
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:list(_pipe@7),
gleam@should:equal(
_pipe@8,
{ok, [gleam@dynamic:from(1), gleam@dynamic:from(2.0)]}
),
_pipe@9 = 1,
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:list(_pipe@10),
gleam@should:equal(
_pipe@11,
{error, {decode_error, <<"List"/utf8>>, <<"Int"/utf8>>}}
).
-spec result_test() -> nil.
result_test() ->
_pipe = {ok, 1},
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:result(_pipe@1),
gleam@should:equal(_pipe@2, {ok, {ok, gleam@dynamic:from(1)}}),
_pipe@3 = {error, <<"error"/utf8>>},
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:result(_pipe@4),
gleam@should:equal(
_pipe@5,
{ok, {error, gleam@dynamic:from(<<"error"/utf8>>)}}
),
_pipe@6 = 1,
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:result(_pipe@7),
gleam@should:equal(
_pipe@8,
{error, {decode_error, <<"Result"/utf8>>, <<"Int"/utf8>>}}
),
_pipe@9 = {<<"bad"/utf8>>, <<"value"/utf8>>},
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:result(_pipe@10),
gleam@should:equal(
_pipe@11,
{error,
{decode_error, <<"Result"/utf8>>, <<"Tuple of 2 elements"/utf8>>}}
).
-spec typed_result_test() -> nil.
typed_result_test() ->
_pipe = {ok, 1},
_pipe@1 = gleam@dynamic:from(_pipe),
_pipe@2 = gleam@dynamic:typed_result(
_pipe@1,
fun gleam@dynamic:int/1,
fun gleam@dynamic:string/1
),
gleam@should:equal(_pipe@2, {ok, {ok, 1}}),
_pipe@3 = {error, <<"error"/utf8>>},
_pipe@4 = gleam@dynamic:from(_pipe@3),
_pipe@5 = gleam@dynamic:typed_result(
_pipe@4,
fun gleam@dynamic:int/1,
fun gleam@dynamic:string/1
),
gleam@should:equal(_pipe@5, {ok, {error, <<"error"/utf8>>}}),
_pipe@6 = {ok, <<"1"/utf8>>},
_pipe@7 = gleam@dynamic:from(_pipe@6),
_pipe@8 = gleam@dynamic:typed_result(
_pipe@7,
fun gleam@dynamic:int/1,
fun gleam@dynamic:string/1
),
gleam@should:equal(
_pipe@8,
{error, {decode_error, <<"Int"/utf8>>, <<"String"/utf8>>}}
),
_pipe@9 = {error, 1},
_pipe@10 = gleam@dynamic:from(_pipe@9),
_pipe@11 = gleam@dynamic:typed_result(
_pipe@10,
fun gleam@dynamic:int/1,
fun gleam@dynamic:string/1
),
gleam@should:equal(
_pipe@11,
{error, {decode_error, <<"String"/utf8>>, <<"Int"/utf8>>}}
),
_pipe@12 = 1,
_pipe@13 = gleam@dynamic:from(_pipe@12),
_pipe@14 = gleam@dynamic:typed_result(
_pipe@13,
fun gleam@dynamic:int/1,
fun gleam@dynamic:string/1
),
gleam@should:equal(
_pipe@14,
{error, {decode_error, <<"Result"/utf8>>, <<"Int"/utf8>>}}
).