aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorevuez <helloevuez@gmail.com>2021-02-23 14:12:57 +0100
committerGitHub <noreply@github.com>2021-02-23 13:12:57 +0000
commit3464cbb286b4f17cbfd4239aa5ddcfd1bf6a871c (patch)
treef57a3965e03c0843b5899d29a33223c22a7b883b /test
parent9424ebf22a18a46b871a5236457d4b08aca6b7cf (diff)
downloadgleam_stdlib-3464cbb286b4f17cbfd4239aa5ddcfd1bf6a871c.tar.gz
gleam_stdlib-3464cbb286b4f17cbfd4239aa5ddcfd1bf6a871c.zip
Add dynamic.tuple{3,4,5,6} (#165)
Diffstat (limited to 'test')
-rw-r--r--test/gleam/dynamic_test.gleam302
1 files changed, 302 insertions, 0 deletions
diff --git a/test/gleam/dynamic_test.gleam b/test/gleam/dynamic_test.gleam
index d8b3be4..50c5ac4 100644
--- a/test/gleam/dynamic_test.gleam
+++ b/test/gleam/dynamic_test.gleam
@@ -356,6 +356,308 @@ pub fn typed_tuple2_test() {
|> should.equal(Error("Expected a 2 element tuple, got an int"))
}
+pub fn tuple3_test() {
+ tuple(1, 2, 3)
+ |> dynamic.from
+ |> dynamic.tuple3
+ |> should.equal(Ok(tuple(dynamic.from(1), dynamic.from(2), dynamic.from(3))))
+
+ tuple(1, "", 3.0)
+ |> dynamic.from
+ |> dynamic.tuple3
+ |> should.equal(Ok(tuple(dynamic.from(1), dynamic.from(""), dynamic.from(3.0))))
+
+ tuple(1, 2)
+ |> dynamic.from
+ |> dynamic.tuple3
+ |> should.equal(Error("Expected a 3 element tuple, got a 2 element tuple"))
+
+ 1
+ |> dynamic.from
+ |> dynamic.tuple3
+ |> should.equal(Error("Expected a 3 element tuple, got an int"))
+}
+
+pub fn typed_tuple3_test() {
+ tuple(1, 2, 3)
+ |> dynamic.from
+ |> dynamic.typed_tuple3(dynamic.int, dynamic.int, dynamic.int)
+ |> should.equal(Ok(tuple(1, 2, 3)))
+
+ tuple(1, "", 3.0)
+ |> dynamic.from
+ |> dynamic.typed_tuple3(dynamic.int, dynamic.string, dynamic.float)
+ |> should.equal(Ok(tuple(1, "", 3.0)))
+
+ tuple(1, 2, "")
+ |> dynamic.from
+ |> dynamic.typed_tuple3(dynamic.int, dynamic.int, dynamic.int)
+ |> should.equal(Error("Expected an int, got a binary"))
+
+ tuple(1, 2)
+ |> dynamic.from
+ |> dynamic.typed_tuple3(dynamic.int, dynamic.int, dynamic.int)
+ |> should.equal(Error("Expected a 3 element tuple, got a 2 element tuple"))
+
+ 1
+ |> dynamic.from
+ |> dynamic.typed_tuple3(dynamic.int, dynamic.int, dynamic.int)
+ |> should.equal(Error("Expected a 3 element tuple, got an int"))
+}
+
+pub fn tuple4_test() {
+ tuple(1, 2, 3, 4)
+ |> dynamic.from
+ |> dynamic.tuple4
+ |> should.equal(Ok(tuple(
+ dynamic.from(1),
+ dynamic.from(2),
+ dynamic.from(3),
+ dynamic.from(4),
+ )))
+
+ tuple(1, "", 3.0, 4)
+ |> dynamic.from
+ |> dynamic.tuple4
+ |> should.equal(Ok(tuple(
+ dynamic.from(1),
+ dynamic.from(""),
+ dynamic.from(3.0),
+ dynamic.from(4),
+ )))
+
+ tuple(1, 2)
+ |> dynamic.from
+ |> dynamic.tuple4
+ |> should.equal(Error("Expected a 4 element tuple, got a 2 element tuple"))
+
+ 1
+ |> dynamic.from
+ |> dynamic.tuple4
+ |> should.equal(Error("Expected a 4 element tuple, got an int"))
+}
+
+pub fn typed_tuple4_test() {
+ tuple(1, 2, 3, 4)
+ |> dynamic.from
+ |> dynamic.typed_tuple4(dynamic.int, dynamic.int, dynamic.int, dynamic.int)
+ |> should.equal(Ok(tuple(1, 2, 3, 4)))
+
+ tuple(1, "", 3.0, 4)
+ |> dynamic.from
+ |> dynamic.typed_tuple4(
+ dynamic.int,
+ dynamic.string,
+ dynamic.float,
+ dynamic.int,
+ )
+ |> should.equal(Ok(tuple(1, "", 3.0, 4)))
+
+ tuple(1, 2, 3, "")
+ |> dynamic.from
+ |> dynamic.typed_tuple4(dynamic.int, dynamic.int, dynamic.int, dynamic.int)
+ |> should.equal(Error("Expected an int, got a binary"))
+
+ tuple(1, 2)
+ |> dynamic.from
+ |> dynamic.typed_tuple4(dynamic.int, dynamic.int, dynamic.int, dynamic.int)
+ |> should.equal(Error("Expected a 4 element tuple, got a 2 element tuple"))
+
+ 1
+ |> dynamic.from
+ |> dynamic.typed_tuple4(dynamic.int, dynamic.int, dynamic.int, dynamic.int)
+ |> should.equal(Error("Expected a 4 element tuple, got an int"))
+}
+
+pub fn tuple5_test() {
+ tuple(1, 2, 3, 4, 5)
+ |> dynamic.from
+ |> dynamic.tuple5
+ |> should.equal(Ok(tuple(
+ dynamic.from(1),
+ dynamic.from(2),
+ dynamic.from(3),
+ dynamic.from(4),
+ dynamic.from(5),
+ )))
+
+ tuple(1, "", 3.0, 4, 5)
+ |> dynamic.from
+ |> dynamic.tuple5
+ |> should.equal(Ok(tuple(
+ dynamic.from(1),
+ dynamic.from(""),
+ dynamic.from(3.0),
+ dynamic.from(4),
+ dynamic.from(5),
+ )))
+
+ tuple(1, 2)
+ |> dynamic.from
+ |> dynamic.tuple5
+ |> should.equal(Error("Expected a 5 element tuple, got a 2 element tuple"))
+
+ 1
+ |> dynamic.from
+ |> dynamic.tuple5
+ |> should.equal(Error("Expected a 5 element tuple, got an int"))
+}
+
+pub fn typed_tuple5_test() {
+ tuple(1, 2, 3, 4, 5)
+ |> dynamic.from
+ |> dynamic.typed_tuple5(
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ )
+ |> should.equal(Ok(tuple(1, 2, 3, 4, 5)))
+
+ tuple(1, "", 3.0, 4, 5)
+ |> dynamic.from
+ |> dynamic.typed_tuple5(
+ dynamic.int,
+ dynamic.string,
+ dynamic.float,
+ dynamic.int,
+ dynamic.int,
+ )
+ |> should.equal(Ok(tuple(1, "", 3.0, 4, 5)))
+
+ tuple(1, 2, 3, 4, "")
+ |> dynamic.from
+ |> dynamic.typed_tuple5(
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ )
+ |> should.equal(Error("Expected an int, got a binary"))
+
+ tuple(1, 2)
+ |> dynamic.from
+ |> dynamic.typed_tuple5(
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ )
+ |> should.equal(Error("Expected a 5 element tuple, got a 2 element tuple"))
+
+ 1
+ |> dynamic.from
+ |> dynamic.typed_tuple5(
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ )
+ |> should.equal(Error("Expected a 5 element tuple, got an int"))
+}
+
+pub fn tuple6_test() {
+ tuple(1, 2, 3, 4, 5, 6)
+ |> dynamic.from
+ |> dynamic.tuple6
+ |> should.equal(Ok(tuple(
+ dynamic.from(1),
+ dynamic.from(2),
+ dynamic.from(3),
+ dynamic.from(4),
+ dynamic.from(5),
+ dynamic.from(6),
+ )))
+
+ tuple(1, "", 3.0, 4, 5, 6)
+ |> dynamic.from
+ |> dynamic.tuple6
+ |> should.equal(Ok(tuple(
+ dynamic.from(1),
+ dynamic.from(""),
+ dynamic.from(3.0),
+ dynamic.from(4),
+ dynamic.from(5),
+ dynamic.from(6),
+ )))
+
+ tuple(1, 2)
+ |> dynamic.from
+ |> dynamic.tuple6
+ |> should.equal(Error("Expected a 6 element tuple, got a 2 element tuple"))
+
+ 1
+ |> dynamic.from
+ |> dynamic.tuple6
+ |> should.equal(Error("Expected a 6 element tuple, got an int"))
+}
+
+pub fn typed_tuple6_test() {
+ tuple(1, 2, 3, 4, 5, 6)
+ |> dynamic.from
+ |> dynamic.typed_tuple6(
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ )
+ |> should.equal(Ok(tuple(1, 2, 3, 4, 5, 6)))
+
+ tuple(1, "", 3.0, 4, 5, 6)
+ |> dynamic.from
+ |> dynamic.typed_tuple6(
+ dynamic.int,
+ dynamic.string,
+ dynamic.float,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ )
+ |> should.equal(Ok(tuple(1, "", 3.0, 4, 5, 6)))
+
+ tuple(1, 2, 3, 4, 5, "")
+ |> dynamic.from
+ |> dynamic.typed_tuple6(
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ )
+ |> should.equal(Error("Expected an int, got a binary"))
+
+ tuple(1, 2)
+ |> dynamic.from
+ |> dynamic.typed_tuple6(
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ )
+ |> should.equal(Error("Expected a 6 element tuple, got a 2 element tuple"))
+
+ 1
+ |> dynamic.from
+ |> dynamic.typed_tuple6(
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ dynamic.int,
+ )
+ |> should.equal(Error("Expected a 6 element tuple, got an int"))
+}
+
pub fn map_test() {
map.new()
|> dynamic.from