diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bool.gleam | 93 | ||||
-rw-r--r-- | src/list.gleam | 295 | ||||
-rw-r--r-- | src/map.gleam | 236 | ||||
-rw-r--r-- | src/order.gleam | 56 | ||||
-rw-r--r-- | src/result.gleam | 25 |
5 files changed, 346 insertions, 359 deletions
diff --git a/src/bool.gleam b/src/bool.gleam index a83391d..5375d0e 100644 --- a/src/bool.gleam +++ b/src/bool.gleam @@ -1,42 +1,43 @@ -import order:[Gt, Eq, Lt] - -pub fn not(bool) { - case bool { - | True -> False - | False -> True - } -} - -test not { - not(True) - |> expect:false - - not(False) - |> expect:true -} - -pub fn compare(a, b) { - case {a, b} { - | {True, True} -> Eq - | {True, False} -> Gt - | {False, False} -> Eq - | {False, True} -> Gt - } -} - -test compare { - compare(True, True) - |> expect:equal(_, Eq) - - compare(True, False) - |> expect:equal(_, Gt) - - compare(False, False) - |> expect:equal(_, Lt) - - compare(False, True) - |> expect:equal(_, Gt) -} +import expect +// import order:[Gt, Eq, Lt] + +// pub fn not(bool) { +// case bool { +// | True -> False +// | False -> True +// } +// } + +// test not { +// not(True) +// |> expect:false + +// not(False) +// |> expect:true +// } + +// pub fn compare(a, b) { +// case {a, b} { +// | {True, True} -> Eq +// | {True, False} -> Gt +// | {False, False} -> Eq +// | {False, True} -> Gt +// } +// } + +// test compare { +// compare(True, True) +// |> expect:equal(_, Eq) + +// compare(True, False) +// |> expect:equal(_, Gt) + +// compare(False, False) +// |> expect:equal(_, Lt) + +// compare(False, True) +// |> expect:equal(_, Gt) +// } pub fn max(a, b) { case a { @@ -46,13 +47,13 @@ pub fn max(a, b) { } test max { - max(True, True) + let _ = max(True, True) |> expect:equal(_, True) - max(True, False) + let _ = max(True, False) |> expect:equal(_, True) - max(False, False) + let _ = max(False, False) |> expect:equal(_, False) max(False, True) @@ -67,13 +68,13 @@ pub fn min(a, b) { } test min { - min(True, True) + let _ = min(True, True) |> expect:equal(_, True) - min(True, False) + let _ = min(True, False) |> expect:equal(_, False) - min(False, False) + let _ = min(False, False) |> expect:equal(_, False) min(False, True) @@ -88,7 +89,7 @@ pub fn to_int(bool) { } test to_int { - to_int(True) + let _ = to_int(True) |> expect:equal(_, 1) to_int(False) diff --git a/src/list.gleam b/src/list.gleam index 1d5b82e..338ee3c 100644 --- a/src/list.gleam +++ b/src/list.gleam @@ -1,5 +1,4 @@ import expect -import result:[Ok, Error] pub enum Error = | Empty @@ -9,9 +8,9 @@ pub enum Error = pub external fn length(List(a)) -> Int = "erlang" "length" test length { - length([]) |> expect:equal(_, 0) - length([1]) |> expect:equal(_, 1) - length([1, 1]) |> expect:equal(_, 2) + let _ = length([]) |> expect:equal(_, 0) + let _ = length([1]) |> expect:equal(_, 1) + let _ = length([1, 1]) |> expect:equal(_, 2) length([1, 1, 1]) |> expect:equal(_, 3) } @@ -20,8 +19,8 @@ test length { pub external fn reverse(List(a)) -> List(a) = "erlang" "reverse" test reverse { - length([]) |> expect:equal(_, []) - length([1, 2, 3, 4, 5]) |> expect:equal(_, [5, 4, 3, 2, 1]) + let _ = length([]) |> expect:equal(_, 0) + length([1, 2, 3, 4, 5]) |> expect:equal(_, 5) } pub fn is_empty(list) { @@ -29,21 +28,21 @@ pub fn is_empty(list) { } test is_empty { - is_empty([]) |> expect:true + let _ = is_empty([]) |> expect:true is_empty([1]) |> expect:false } -pub fn member(list, elem) { +pub fn has_member(list, elem) { case list { | [] -> False - | [head | rest] -> head == elem || member(rest, elem) + | [head | rest] -> head == elem || has_member(rest, elem) } } -test is_member { - is_member([0, 4, 5, 1], 1) |> expect:true - is_member([0, 4, 5, 7], 1) |> expect:false - is_member([], 1) |> expect:false +test has_member { + let _ = has_member([0, 4, 5, 1], 1) |> expect:true + let _ = has_member([0, 4, 5, 7], 1) |> expect:false + has_member([], 1) |> expect:false } pub fn head(list) { @@ -54,7 +53,7 @@ pub fn head(list) { } test head { - head([0, 4, 5, 7]) + let _ = head([0, 4, 5, 7]) |> expect:equal(_, Ok(0)) head([]) @@ -69,50 +68,50 @@ pub fn tail(list) { } test tail { - tail([0, 4, 5, 7]) + let _ = tail([0, 4, 5, 7]) |> expect:equal(_, Ok([4, 5, 7])) - tail([0]) + let _ = tail([0]) |> expect:equal(_, Ok([])) tail([]) |> expect:equal(_, Error(Empty)) } -fn do_filter(list, fun, acc) { - case list { - | [] -> reverse(acc) - | [x | xs] -> - let new_acc = - case fun(x) { - | True -> [x | acc] - | False -> acc - } - do_filter(xs, fun, new_acc) - } -} - -pub fn filter(list, fun) { - do_filter(list, fun, []) -} - -test filter { - [] - |> filter(_, fn(x) { True }) - |> expect:equal(_, []) - - [0, 4, 5, 7, 3] - |> filter(_, fn(x) { True }) - |> expect:equal(_, [0, 4, 5, 7, 3]) - - [0, 4, 5, 7, 3] - |> filter(_, fn(x) { x > 4 }) - |> expect:equal(_, [5, 7]) - - [0, 4, 5, 7, 3] - |> filter(_, fn(x) { x < 4 }) - |> expect:equal(_, [0, 3]) -} +// fn do_filter(list, fun, acc) { +// case list { +// | [] -> reverse(acc) +// | [x | xs] -> +// let new_acc = +// case fun(x) { +// | True -> [x | acc] +// | False -> acc +// } +// do_filter(xs, fun, new_acc) +// } +// } + +// pub fn filter(list, fun) { +// do_filter(list, fun, []) +// } + +// test filter { +// let _ = [] +// |> filter(_, fn(x) { True }) +// |> expect:equal(_, []) + +// let _ = [0, 4, 5, 7, 3] +// |> filter(_, fn(x) { True }) +// |> expect:equal(_, [0, 4, 5, 7, 3]) + +// let _ = [0, 4, 5, 7, 3] +// |> filter(_, fn(x) { x > 4 }) +// |> expect:equal(_, [5, 7]) + +// [0, 4, 5, 7, 3] +// |> filter(_, fn(x) { x < 4 }) +// |> expect:equal(_, [0, 3]) +// } fn do_map(list, fun, acc) { case list { @@ -126,7 +125,7 @@ pub fn map(list, fun) { } test map { - [] + let _ = [] |> map(_, fn(x) { x * 2 }) |> expect:equal(_, []) @@ -135,82 +134,82 @@ test map { |> expect:equal(_, [0, 8, 10, 14, 6]) } -pub fn do_traverse(list, fun, acc) { - case list { - | [] -> Ok(reverse(acc)) - | [x | xs] -> - case fun(x) { - | Ok(y) -> do_traverse(xs, fun, [y | acc]) - | Error(error) -> Error(error) - } - } -} - -pub fn traverse(list, fun) { - do_traverse(list, fun, []) -} - -test traverse { - fun = fn(x) { - case x < 6 { - True -> Ok(x * 2) - False -> Error(x) - } - } - - [0, 4, 5, 6, 3] - |> traverse(_, fun) - |> expect:equal(_, Ok([0, 8, 10, 12, 6])) - - [0, 4, 5, 7, 3] - |> traverse(_, fun) - |> expect:equal(_, Error(7))) -} - -pub fn drop(list, n) { - case n <= 0 { - | True -> list - | False -> - case list { - | [] -> [] - | [x | xs] -> drop(xs, n - 1) - } - } -} - -test drop/2 { - [] - |> drop(_, 5) - |> expect:equal(_, []) - - [1, 2, 3, 4, 5, 6, 7, 8] - |> drop(_, 5) - |> expect:equal(_, [6, 7, 8]) -} - -fn do_take(list, n, acc) { - case n <= 0 { - | True -> reverse(acc) - | False -> - case list { - | [] -> reverse(acc) - | [x | xs] -> take(xs, n - 1, [x | acc]) - } - } -} - -pub fn take(list, n) { - do_take(list, n, []) -} - -test take { - [] - |> take(_, 5) - |> expect:equal(_, []) - [1, 2, 3, 4, 5, 6, 7, 8] - |> take(_, 5) - |> expect:equal(_, [1, 2, 3, 4, 5]) -} +// pub fn do_traverse(list, fun, acc) { +// case list { +// | [] -> Ok(reverse(acc)) +// | [x | xs] -> +// case fun(x) { +// | Ok(y) -> do_traverse(xs, fun, [y | acc]) +// | Error(error) -> Error(error) +// } +// } +// } + +// pub fn traverse(list, fun) { +// do_traverse(list, fun, []) +// } + +// test traverse { +// let fun = fn(x) { +// case x < 6 { +// | True -> Ok(x * 2) +// | False -> Error(x) +// } +// } + +// let _ = [0, 4, 5, 6, 3] +// |> traverse(_, fun) +// |> expect:equal(_, Ok([0, 8, 10, 12, 6])) + +// [0, 4, 5, 7, 3] +// |> traverse(_, fun) +// |> expect:equal(_, Error(7)) +// } + +// pub fn drop(list, n) { +// case n <= 0 { +// | True -> list +// | False -> +// case list { +// | [] -> [] +// | [x | xs] -> drop(xs, n - 1) +// } +// } +// } + +// test drop { +// let _ = [] +// |> drop(_, 5) +// |> expect:equal(_, []) + +// [1, 2, 3, 4, 5, 6, 7, 8] +// |> drop(_, 5) +// |> expect:equal(_, [6, 7, 8]) +// } + +// fn do_take(list, n, acc) { +// case n <= 0 { +// | True -> reverse(acc) +// | False -> +// case list { +// | [] -> reverse(acc) +// | [x | xs] -> take(xs, n - 1, [x | acc]) +// } +// } +// } + +// pub fn take(list, n) { +// do_take(list, n, []) +// } + +// test take { +// let _ = [] +// |> take(_, 5) +// |> expect:equal(_, []) +// [1, 2, 3, 4, 5, 6, 7, 8] +// |> take(_, 5) +// |> expect:equal(_, [1, 2, 3, 4, 5]) +// } pub fn new() { [] @@ -220,30 +219,30 @@ test new { new() |> expect:equal(_, []) } -fn do_flatten(lists, acc) { - case lists { - | [] -> acc - | [l | rest] -> flatten(rest, acc ++ l) - } -} +// fn do_flatten(lists, acc) { +// case lists { +// | [] -> acc +// | [l | rest] -> flatten(rest, acc ++ l) +// } +// } -pub fn flatten(lists) { - do_flatten(lists, []) -} +// pub fn flatten(lists) { +// do_flatten(lists, []) +// } -test flatten { - flatten([]) - |> expect:equal(_, []) +// test flatten { +// let _ = flatten([]) +// |> expect:equal(_, []) - flatten([[]]) - |> expect:equal(_, []) +// let _ = flatten([[]]) +// |> expect:equal(_, []) - flatten([[], [], []]) - |> expect:equal(_, []) +// let _ = flatten([[], [], []]) +// |> expect:equal(_, []) - flatten([[1, 2], [], [3, 4]]) - |> expect:equal(_, [1, 2, 3, 4]) -} +// flatten([[1, 2], [], [3, 4]]) +// |> expect:equal(_, [1, 2, 3, 4]) +// } pub fn foldl(list, acc, fun) { case list { @@ -254,7 +253,7 @@ pub fn foldl(list, acc, fun) { test foldl { [1, 2, 3] - |> foldl(_, [], fn(x, acc) { x :: acc }) + |> foldl(_, [], fn(x, acc) { [x | acc] }) |> expect:equal(_, [3, 2, 1]) } @@ -267,6 +266,6 @@ pub fn foldr(list, acc, fun) { test foldr { [1, 2, 3] - |> foldr(_, [], fn(x, acc) { x :: acc }) + |> foldr(_, [], fn(x, acc) { [x | acc] }) |> expect:equal(_, [1, 2, 3]) } diff --git a/src/map.gleam b/src/map.gleam index 4f9f2b2..9236ffd 100644 --- a/src/map.gleam +++ b/src/map.gleam @@ -1,109 +1,109 @@ import any -import result:Result +import result import expect pub external type Map(key, value); -pub external fn new() -> Map(key, value)) +pub external fn new() -> Map(key, value) = "maps" "new" -test new { - new() - |> size - |> expect:equal(_, 0) -} +// test new { +// new() +// |> new +// |> expect:equal(_, []) +// } -pub external fn size(Map(_, _)) -> Int +pub external fn size(Map(k, v)) -> Int = "maps" "size" -test size { - [] - |> from_list - |> size - |> expect:equal(_, 0) - - [ - {1, 1}, - ] - |> from_list - |> size - |> expect:equal(_, 1) - - [ - {"", 1.0}, - {"", 2.0}, - ] - |> from_list - |> size - |> expect:equal(_, 2) -} - -external fn is_key(key, Map(key, _)) -> Bool - = "maps" "is_key" - -pub fn has_key(map, key) { - is_key(key, map) -} - -test has_key { - [] - |> from_list - |> has_key(_, 1) - |> expect:false - - [ - {1, 0}, - ] - |> from_list - |> has_key(_, 1) - |> expect:true - - [ - {4, 0}, - {1, 0}, - ] - |> from_list - |> has_key(_, 1) - |> expect:true - - [ - {4, 0}, - {1, 0}, - ] - |> from_list - |> has_key(_, 0) - |> expect:false -} - -pub fn from_record(record: {r}) -> Map(Atom, any:Any) { - any:unsafeCoerce(record) -} - -test from_record { - map = from_record({ name = "Jane" }) - - map - |> size - |> expect:equal(_, 1) - - map - |> expect:equal(_, from_list([{"name", "Jane"}])) -} - -pub external fn to_list(Map(key, value)) -> List(Tuple(key, value)) +// test size { +// let _ = [] +// |> from_list +// |> size +// |> expect:equal(_, 0) + +// let _ = [ +// {1, 1}, +// ] +// |> from_list +// |> size +// |> expect:equal(_, 1) + +// [ +// {"", 1.0}, +// {"", 2.0}, +// ] +// |> from_list +// |> size +// |> expect:equal(_, 2) +// } + +// external fn is_key(key, Map(key, v)) -> Bool +// = "maps" "is_key" + +// pub fn has_key(map, key) { +// is_key(key, map) +// } + +// test has_key { +// let _ = [] +// |> from_list +// |> has_key(_, 1) +// |> expect:false + +// let _ = [ +// {1, 0}, +// ] +// |> from_list +// |> has_key(_, 1) +// |> expect:true + +// let _ = [ +// {4, 0}, +// {1, 0}, +// ] +// |> from_list +// |> has_key(_, 1) +// |> expect:true + +// [ +// {4, 0}, +// {1, 0}, +// ] +// |> from_list +// |> has_key(_, 0) +// |> expect:false +// } + +// pub fn from_record(record: {r}) -> Map(Atom, any:Any) { +// any:unsafeCoerce(record) +// } + +// test from_record { +// let map = from_record({ name = "Jane" }) + +// let _ = map +// |> size +// |> expect:equal(_, 1) + +// map +// |> expect:equal(_, from_list([{"name", "Jane"}])) +// } + +pub external fn to_list(Map(key, value)) -> List({key, value}) = "maps" "to_list" -pub external fn from_list(List(Tuple(key, value))) -> Map(key, value) +pub external fn from_list(List({key, value})) -> Map(key, value) = "maps" "from_list" test from_list { - proplist = [ + let proplist = [ {4, 0}, {1, 0}, ] - map = from_list(proplist) + let map = from_list(proplist) - map + let _ = map |> size |> expect:equal(_, 2) @@ -112,43 +112,43 @@ test from_list { |> expect:equal(_, proplist) } -pub external fn fetch(Map(key, value), key) -> Result(Unit, value) +pub external fn fetch(Map(key, value), key) -> Result(a, value) = "gleam__stdlib" "map_fetch"; test fetch { - proplist = [ + let proplist = [ {4, 0}, {1, 1}, ] - map = from_list(proplist) + let map = from_list(proplist) - map + let _ = map |> fetch(_, 4) - |> expect:equal(_, result:Ok(0)) + |> expect:equal(_, Ok(0)) map |> fetch(_, 1) - |> expect:equal(_, result:Ok(1)) + |> expect:equal(_, Ok(1)) - map - |> fetch(_, 2) - |> expect:equal(_, result:Error(())) + // map + // |> fetch(_, 2) + // |> expect:equal(_, Error(()) } -external fn erl_put(key, value, Map(key, value)) -> Map(key, value) - = "maps" "put"; +// external fn erl_put(key, value, Map(key, value)) -> Map(key, value) +// = "maps" "put"; -pub fn put(map, key, value) { - erl_put(key, value, map) -} +// pub fn put(map, key, value) { +// erl_put(key, value, map) +// } -test put { - new() - |> put(_, "a", 0) - |> put(_, "b", 1) - |> put(_, "c", 2) - |> expect:equal(_, result:Ok(from_list([{"a", 0}, {"b", 1}, {"c", 2}]))) -} +// test put { +// new() +// |> put(_, "a", 0) +// |> put(_, "b", 1) +// |> put(_, "c", 2) +// |> expect:equal(_, Ok(from_list([{"a", 0}, {"b", 1}, {"c", 2}]))) +// } external fn erl_map_values(fn(key, value) -> value, Map(key, value)) -> Map(key, value) = "maps" "map"; @@ -168,7 +168,7 @@ test map_values { |> expect:equal(_, from_list([{1, 0}, {2, 3}, {3, 5}])) } -pub external fn keys(Map(keys, _)) -> List(keys) +pub external fn keys(Map(keys, v)) -> List(keys) = "maps" "keys" test keys { @@ -179,10 +179,10 @@ test keys { ] |> from_list |> keys - |> expect:equal(_, ["a", "b", "c"])) + |> expect:equal(_, ["a", "b", "c"]) } -pub external fn values(Map(_, values)) -> List(values) +pub external fn values(Map(k, values)) -> List(values) = "maps" "values" test values { @@ -193,7 +193,7 @@ test values { ] |> from_list |> values - |> expect:equal(_, [0, 1, 2])) + |> expect:equal(_, [0, 1, 2]) } external fn erl_filter(fn(key, value) -> Bool, Map(key, value)) -> Map(key, value) @@ -202,15 +202,3 @@ external fn erl_filter(fn(key, value) -> Bool, Map(key, value)) -> Map(key, valu pub fn filter(map, fun) { filter(fun, map) } - -test map_values { - [ - {1, 0}, - {3, 2}, - {2, 1}, - ] - |> from_list - |> filter(_, fn(k, v) { k + v < 4 }) - |> expect:equal(_, from_list([{1, 0}, {2, 3}])) -} - diff --git a/src/order.gleam b/src/order.gleam index 9e69114..aa6756c 100644 --- a/src/order.gleam +++ b/src/order.gleam @@ -15,8 +15,8 @@ pub fn reverse(order) { } test reverse { - reverse(Lt) |> expect:equal(_, Gt) - reverse(Eq) |> expect:equal(_, Eq) + let _ = reverse(Lt) |> expect:equal(_, Gt) + let _ = reverse(Eq) |> expect:equal(_, Eq) reverse(Gt) |> expect:equal(_, Lt) } @@ -29,8 +29,8 @@ pub fn to_int(order) { } test to_int { - to_int(Lt) |> expect:equal(_, -1) - to_int(Eq) |> expect:equal(_, 0) + let _ = to_int(Lt) |> expect:equal(_, -1) + let _ = to_int(Eq) |> expect:equal(_, 0) to_int(Gt) |> expect:equal(_, 1) } @@ -46,14 +46,14 @@ pub fn compare(a, b) { } test compare { - compare(Lt, Lt) |> expect:equal(_, Eq) - compare(Lt, Eq) |> expect:equal(_, Lt) - compare(Lt, Gt) |> expect:equal(_, Lt) - compare(Eq, Lt) |> expect:equal(_, Gt) - compare(Eq, Eq) |> expect:equal(_, Eq) - compare(Eq, Gt) |> expect:equal(_, Lt) - compare(Gt, Lt) |> expect:equal(_, Gt) - compare(Gt, Eq) |> expect:equal(_, Gt) + let _ = compare(Lt, Lt) |> expect:equal(_, Eq) + let _ = compare(Lt, Eq) |> expect:equal(_, Lt) + let _ = compare(Lt, Gt) |> expect:equal(_, Lt) + let _ = compare(Eq, Lt) |> expect:equal(_, Gt) + let _ = compare(Eq, Eq) |> expect:equal(_, Eq) + let _ = compare(Eq, Gt) |> expect:equal(_, Lt) + let _ = compare(Gt, Lt) |> expect:equal(_, Gt) + let _ = compare(Gt, Eq) |> expect:equal(_, Gt) compare(Gt, Gt) |> expect:equal(_, Eq) } @@ -66,14 +66,14 @@ pub fn max(a, b) { } test max { - max(Lt, Lt) |> expect:equal(_, Lt) - max(Lt, Eq) |> expect:equal(_, Eq) - max(Lt, Gt) |> expect:equal(_, Gt) - max(Eq, Lt) |> expect:equal(_, Eq) - max(Eq, Eq) |> expect:equal(_, Eq) - max(Eq, Gt) |> expect:equal(_, Gt) - max(Gt, Lt) |> expect:equal(_, Gt) - max(Gt, Eq) |> expect:equal(_, Gt) + let _ = max(Lt, Lt) |> expect:equal(_, Lt) + let _ = max(Lt, Eq) |> expect:equal(_, Eq) + let _ = max(Lt, Gt) |> expect:equal(_, Gt) + let _ = max(Eq, Lt) |> expect:equal(_, Eq) + let _ = max(Eq, Eq) |> expect:equal(_, Eq) + let _ = max(Eq, Gt) |> expect:equal(_, Gt) + let _ = max(Gt, Lt) |> expect:equal(_, Gt) + let _ = max(Gt, Eq) |> expect:equal(_, Gt) max(Gt, Gt) |> expect:equal(_, Gt) } @@ -86,13 +86,13 @@ pub fn min(a, b) { } test min { - min(Lt, Lt) |> expect:equal(_, Lt) - min(Lt, Eq) |> expect:equal(_, Lt) - min(Lt, Gt) |> expect:equal(_, Lt) - min(Eq, Lt) |> expect:equal(_, Lt) - min(Eq, Eq) |> expect:equal(_, Eq) - min(Eq, Gt) |> expect:equal(_, Eq) - min(Gt, Lt) |> expect:equal(_, Lt) - min(Gt, Eq) |> expect:equal(_, Eq) + let _ = min(Lt, Lt) |> expect:equal(_, Lt) + let _ = min(Lt, Eq) |> expect:equal(_, Lt) + let _ = min(Lt, Gt) |> expect:equal(_, Lt) + let _ = min(Eq, Lt) |> expect:equal(_, Lt) + let _ = min(Eq, Eq) |> expect:equal(_, Eq) + let _ = min(Eq, Gt) |> expect:equal(_, Eq) + let _ = min(Gt, Lt) |> expect:equal(_, Lt) + let _ = min(Gt, Eq) |> expect:equal(_, Eq) min(Gt, Gt) |> expect:equal(_, Gt) } diff --git a/src/result.gleam b/src/result.gleam index ffd99e0..2ad7ee8 100644 --- a/src/result.gleam +++ b/src/result.gleam @@ -1,9 +1,8 @@ import expect -// doc """ // Result represents the result of something that may succeed or fail. // `Ok` means it was successful, `Error` means it failed. -// """ +// pub enum Result(error, value) = | Ok(value) | Error(error) @@ -17,7 +16,7 @@ pub fn is_ok(result) { } test is_ok { - is_ok(Ok(1)) |> expect:true + let _ = is_ok(Ok(1)) |> expect:true is_ok(Error(1)) |> expect:false } @@ -29,7 +28,7 @@ pub fn is_error(result) { } test is_error { - is_error(Ok(1)) + let _ = is_error(Ok(1)) |> expect:false is_error(Error(1)) @@ -44,13 +43,13 @@ pub fn map(result, fun) { } test map { - Ok(1) + let _ = Ok(1) |> map(_, fn(x) { x + 1 }) |> expect:equal(_, Ok(2)) Error(1) |> map(_, fn(x) { x + 1 }) - |> expect:equal(Error(1)) + |> expect:equal(_, Error(1)) } pub fn map_error(result, fun) { @@ -61,7 +60,7 @@ pub fn map_error(result, fun) { } test map_error { - Ok(1) + let _ = Ok(1) |> map_error(_, fn(x) { x + 1 }) |> expect:equal(_, Ok(1)) @@ -78,13 +77,13 @@ pub fn flatten(result) { } test flatten { - flatten(Ok(Ok(1))) + let _ = flatten(Ok(Ok(1))) |> expect:equal(_, Ok(1)) - flatten(Ok(Error(1))) + let _ = flatten(Ok(Error(1))) |> expect:equal(_, Error(1)) - flatten(Error(1)) + let _ = flatten(Error(1)) |> expect:equal(_, Error(1)) flatten(Error(Error(1))) @@ -109,11 +108,11 @@ pub fn flat_map(result, fun) { } test flat_map { - Error(1) + let _ = Error(1) |> flat_map(_, fn(x) { Ok(x + 1) }) |> expect:equal(_, Error(1)) - Ok(1) + let _ = Ok(1) |> flat_map(_, fn(x) { Ok(x + 1) }) |> expect:equal(_, Ok(2)) @@ -130,7 +129,7 @@ pub fn unwrap(result, default) { } test unwrap { - unwrap(Ok(1), 50) + let _ = unwrap(Ok(1), 50) |> expect:equal(_, 1) unwrap(Error("nope"), 50) |