aboutsummaryrefslogtreecommitdiff
path: root/gen/test/gleam@dynamic_test.erl
diff options
context:
space:
mode:
authorRJ Dellecese <rjdellecese@gmail.com>2019-12-18 22:04:16 -0500
committerLouis Pilfold <louis@lpil.uk>2019-12-19 10:35:55 +0000
commitdd7dd9b1df1c77a62c49ca6e2620f6757b5b0734 (patch)
treee519bb3fd5573c0bd067d1f7c62c407fee8a37bd /gen/test/gleam@dynamic_test.erl
parent2be45a710cb7332cf3c9a16d251c97561f88109c (diff)
downloadgleam_stdlib-dd7dd9b1df1c77a62c49ca6e2620f6757b5b0734.tar.gz
gleam_stdlib-dd7dd9b1df1c77a62c49ca6e2620f6757b5b0734.zip
Add dynamic.element for decoding tuples
Diffstat (limited to 'gen/test/gleam@dynamic_test.erl')
-rw-r--r--gen/test/gleam@dynamic_test.erl28
1 files changed, 27 insertions, 1 deletions
diff --git a/gen/test/gleam@dynamic_test.erl b/gen/test/gleam@dynamic_test.erl
index d233dbc..ec559b5 100644
--- a/gen/test/gleam@dynamic_test.erl
+++ b/gen/test/gleam@dynamic_test.erl
@@ -1,7 +1,7 @@
-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]).
+-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, element_test/0]).
string_test() ->
gleam@expect:equal(
@@ -168,3 +168,29 @@ field_test() ->
),
gleam@expect:is_error(gleam@dynamic:field(gleam@dynamic:from(1), OkAtom)),
gleam@expect:is_error(gleam@dynamic:field(gleam@dynamic:from([]), [])).
+
+element_test() ->
+ {ok, OkAtom} = gleam@atom:from_string(<<"ok">>),
+ {ok, ErrorAtom} = gleam@atom:from_string(<<"ok">>),
+ OkOneStruct = {OkAtom, 1},
+ gleam@expect:equal(
+ gleam@dynamic:element(gleam@dynamic:from(OkOneStruct), 0),
+ {ok, gleam@dynamic:from(OkAtom)}
+ ),
+ gleam@expect:equal(
+ gleam@dynamic:element(gleam@dynamic:from(OkOneStruct), 1),
+ {ok, gleam@dynamic:from(1)}
+ ),
+ gleam@expect:is_error(
+ gleam@dynamic:element(gleam@dynamic:from(OkOneStruct), 2)
+ ),
+ gleam@expect:is_error(
+ gleam@dynamic:element(gleam@dynamic:from(OkOneStruct), -1)
+ ),
+ gleam@expect:is_error(gleam@dynamic:element(gleam@dynamic:from(1), 0)),
+ gleam@expect:is_error(
+ gleam@dynamic:element(
+ gleam@dynamic:from(gleam@map:insert(gleam@map:new(), 1, OkAtom)),
+ 0
+ )
+ ).