aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2021-07-19 21:35:08 +0100
committerLouis Pilfold <louis@lpil.uk>2021-07-19 21:35:08 +0100
commitd2ff5bec0c60fc748aa8c5c7ef7793430e1b1db2 (patch)
treed1195e087e00db6caeec78f7aa6d0f251a7c073c /test
parent63e680d27cee5516a5b33b6c8c5099846c3bf69f (diff)
downloadgleam_stdlib-d2ff5bec0c60fc748aa8c5c7ef7793430e1b1db2.tar.gz
gleam_stdlib-d2ff5bec0c60fc748aa8c5c7ef7793430e1b1db2.zip
JS option module
Diffstat (limited to 'test')
-rw-r--r--test/gleam/option_test.gleam230
1 files changed, 114 insertions, 116 deletions
diff --git a/test/gleam/option_test.gleam b/test/gleam/option_test.gleam
index 32b1df6..35c9eb3 100644
--- a/test/gleam/option_test.gleam
+++ b/test/gleam/option_test.gleam
@@ -1,117 +1,115 @@
-if erlang {
- import gleam/should
- import gleam/option.{None, Some}
-
- pub fn all_test() {
- option.all([Some(1), Some(2), Some(3)])
- |> should.equal(Some([1, 2, 3]))
-
- option.all([Some(1), None, Some(3)])
- |> should.equal(None)
- }
-
- pub fn is_some_test() {
- option.is_some(Some(1))
- |> should.be_true
-
- option.is_some(None)
- |> should.be_false
- }
-
- pub fn is_none_test() {
- option.is_none(Some(1))
- |> should.be_false
-
- option.is_none(None)
- |> should.be_true
- }
-
- pub fn to_result_test() {
- option.to_result(Some(1), "possible_error")
- |> should.equal(Ok(1))
-
- option.to_result(None, "possible_error")
- |> should.equal(Error("possible_error"))
- }
-
- pub fn from_result_test() {
- option.from_result(Ok(1))
- |> should.equal(Some(1))
-
- option.from_result(Error("some_error"))
- |> should.equal(None)
- }
-
- pub fn unwrap_option_test() {
- option.unwrap(Some(1), 0)
- |> should.equal(1)
-
- option.unwrap(None, 0)
- |> should.equal(0)
- }
-
- pub fn map_option_test() {
- Some(1)
- |> option.map(fn(x) { x + 1 })
- |> should.equal(Some(2))
-
- Some(1)
- |> option.map(fn(_) { "2" })
- |> should.equal(Some("2"))
-
- None
- |> option.map(fn(x) { x + 1 })
- |> should.equal(None)
- }
-
- pub fn flatten_option_test() {
- Some(Some(1))
- |> option.flatten()
- |> should.equal(Some(1))
-
- Some(None)
- |> option.flatten()
- |> should.equal(None)
-
- None
- |> option.flatten()
- |> should.equal(None)
- }
-
- pub fn then_option_test() {
- Some(1)
- |> option.then(fn(x) { Some(x + 1) })
- |> should.equal(Some(2))
-
- Some(1)
- |> option.then(fn(_) { Some("2") })
- |> should.equal(Some("2"))
-
- None
- |> option.then(fn(x) { Some(x + 1) })
- |> should.equal(None)
- }
-
- pub fn or_option_test() {
- Some(1)
- |> option.or(Some(2))
- |> should.equal(Some(1))
-
- Some(1)
- |> option.or(None)
- |> should.equal(Some(1))
-
- None
- |> option.or(Some(2))
- |> should.equal(Some(2))
-
- None
- |> option.or(None)
- |> should.equal(None)
- }
-
- pub fn values_test() {
- option.values([Some(1), None, Some(3)])
- |> should.equal([1, 3])
- }
+import gleam/should
+import gleam/option.{None, Some}
+
+pub fn all_test() {
+ option.all([Some(1), Some(2), Some(3)])
+ |> should.equal(Some([1, 2, 3]))
+
+ option.all([Some(1), None, Some(3)])
+ |> should.equal(None)
+}
+
+pub fn is_some_test() {
+ option.is_some(Some(1))
+ |> should.be_true
+
+ option.is_some(None)
+ |> should.be_false
+}
+
+pub fn is_none_test() {
+ option.is_none(Some(1))
+ |> should.be_false
+
+ option.is_none(None)
+ |> should.be_true
+}
+
+pub fn to_result_test() {
+ option.to_result(Some(1), "possible_error")
+ |> should.equal(Ok(1))
+
+ option.to_result(None, "possible_error")
+ |> should.equal(Error("possible_error"))
+}
+
+pub fn from_result_test() {
+ option.from_result(Ok(1))
+ |> should.equal(Some(1))
+
+ option.from_result(Error("some_error"))
+ |> should.equal(None)
+}
+
+pub fn unwrap_option_test() {
+ option.unwrap(Some(1), 0)
+ |> should.equal(1)
+
+ option.unwrap(None, 0)
+ |> should.equal(0)
+}
+
+pub fn map_option_test() {
+ Some(1)
+ |> option.map(fn(x) { x + 1 })
+ |> should.equal(Some(2))
+
+ Some(1)
+ |> option.map(fn(_) { "2" })
+ |> should.equal(Some("2"))
+
+ None
+ |> option.map(fn(x) { x + 1 })
+ |> should.equal(None)
+}
+
+pub fn flatten_option_test() {
+ Some(Some(1))
+ |> option.flatten()
+ |> should.equal(Some(1))
+
+ Some(None)
+ |> option.flatten()
+ |> should.equal(None)
+
+ None
+ |> option.flatten()
+ |> should.equal(None)
+}
+
+pub fn then_option_test() {
+ Some(1)
+ |> option.then(fn(x) { Some(x + 1) })
+ |> should.equal(Some(2))
+
+ Some(1)
+ |> option.then(fn(_) { Some("2") })
+ |> should.equal(Some("2"))
+
+ None
+ |> option.then(fn(x) { Some(x + 1) })
+ |> should.equal(None)
+}
+
+pub fn or_option_test() {
+ Some(1)
+ |> option.or(Some(2))
+ |> should.equal(Some(1))
+
+ Some(1)
+ |> option.or(None)
+ |> should.equal(Some(1))
+
+ None
+ |> option.or(Some(2))
+ |> should.equal(Some(2))
+
+ None
+ |> option.or(None)
+ |> should.equal(None)
+}
+
+pub fn values_test() {
+ option.values([Some(1), None, Some(3)])
+ |> should.equal([1, 3])
}