diff options
author | Louis Pilfold <louis@lpil.uk> | 2021-07-19 21:35:08 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2021-07-19 21:35:08 +0100 |
commit | d2ff5bec0c60fc748aa8c5c7ef7793430e1b1db2 (patch) | |
tree | d1195e087e00db6caeec78f7aa6d0f251a7c073c /test | |
parent | 63e680d27cee5516a5b33b6c8c5099846c3bf69f (diff) | |
download | gleam_stdlib-d2ff5bec0c60fc748aa8c5c7ef7793430e1b1db2.tar.gz gleam_stdlib-d2ff5bec0c60fc748aa8c5c7ef7793430e1b1db2.zip |
JS option module
Diffstat (limited to 'test')
-rw-r--r-- | test/gleam/option_test.gleam | 230 |
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]) } |