diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/gleam/any_test.gleam | 45 | ||||
-rw-r--r-- | test/gleam/list_test.gleam | 36 | ||||
-rw-r--r-- | test/gleam/map_test.gleam | 136 | ||||
-rw-r--r-- | test/gleam/pair_test.gleam | 36 | ||||
-rw-r--r-- | test/gleam/result_test.gleam | 6 | ||||
-rw-r--r-- | test/gleam/tuple_test.gleam | 46 |
6 files changed, 142 insertions, 163 deletions
diff --git a/test/gleam/any_test.gleam b/test/gleam/any_test.gleam index fc9640d..5fe0476 100644 --- a/test/gleam/any_test.gleam +++ b/test/gleam/any_test.gleam @@ -1,7 +1,7 @@ import gleam/any import gleam/atom import gleam/list -import gleam/tuple +import gleam/pair import gleam/expect import gleam/result import gleam/map @@ -210,49 +210,38 @@ pub fn list_test() { |> expect.is_error } -// TODO: replace struct with Pair -pub fn struct2_test() { - struct(1, []) +pub fn pair_test() { + pair.Pair(1, []) |> any.from - |> any.struct2 - |> expect.equal(_, Ok(struct(any.from(1), any.from([])))) + |> any.pair + |> expect.equal(_, Ok(pair.Pair(any.from(1), any.from([])))) - struct("ok", "ok") + pair.Pair("ok", "ok") |> any.from - |> any.struct2 - |> expect.equal(_, Ok(struct(any.from("ok"), any.from("ok")))) + |> any.pair + |> expect.equal(_, Ok(pair.Pair(any.from("ok"), any.from("ok")))) - struct(1) + pair.Pair(1, 2.0) |> any.from - |> any.struct2 - |> expect.is_error - - struct(1, 2, 3) - |> any.from - |> any.struct2 - |> expect.is_error - - struct(1, 2.0) - |> any.from - |> any.struct2 + |> any.pair |> result.then(_, fn(x) { x - |> tuple.first + |> pair.first |> any.int - |> result.map(_, fn(f) { struct(f, tuple.second(x)) }) + |> result.map(_, fn(f) { pair.Pair(f, pair.second(x)) }) }) |> result.then(_, fn(x) { x - |> tuple.second + |> pair.second |> any.float - |> result.map(_, fn(f) { struct(tuple.first(x), f) }) + |> result.map(_, fn(f) { pair.Pair(pair.first(x), f) }) }) - |> expect.equal(_, Ok(struct(1, 2.0))) + |> expect.equal(_, Ok(pair.Pair(1, 2.0))) } pub fn field_test() { let Ok(ok_atom) = atom.from_string("ok") - let Ok(earlier_atom) = atom.from_string("earlier") + let Ok(error_atom) = atom.from_string("error") map.new() |> map.put(_, ok_atom, 1) @@ -262,7 +251,7 @@ pub fn field_test() { map.new() |> map.put(_, ok_atom, 3) - |> map.put(_, earlier_atom, 1) + |> map.put(_, error_atom, 1) |> any.from |> any.field(_, ok_atom) |> expect.equal(_, Ok(any.from(3))) diff --git a/test/gleam/list_test.gleam b/test/gleam/list_test.gleam index 1270ff3..e211947 100644 --- a/test/gleam/list_test.gleam +++ b/test/gleam/list_test.gleam @@ -3,6 +3,7 @@ import gleam/list import gleam/int import gleam/float import gleam/string +import gleam/pair pub fn length_test() { list.length([]) |> expect.equal(_, 0) @@ -195,15 +196,14 @@ pub fn zip_test() { list.zip([1, 2], []) |> expect.equal(_, []) - // TODO: replace struct with Pair list.zip([1, 2, 3], [4, 5, 6]) - |> expect.equal(_, [struct(1, 4), struct(2, 5), struct(3, 6)]) + |> expect.equal(_, [pair.Pair(1, 4), pair.Pair(2, 5), pair.Pair(3, 6)]) list.zip([5, 6], [1, 2, 3]) - |> expect.equal(_, [struct(5, 1), struct(6, 2)]) + |> expect.equal(_, [pair.Pair(5, 1), pair.Pair(6, 2)]) list.zip([5, 6, 7], [1, 2]) - |> expect.equal(_, [struct(5, 1), struct(6, 2)]) + |> expect.equal(_, [pair.Pair(5, 1), pair.Pair(6, 2)]) } pub fn strict_zip_test() { @@ -214,7 +214,7 @@ pub fn strict_zip_test() { |> expect.is_error list.strict_zip([1, 2, 3], [4, 5, 6]) - |> expect.equal(_, Ok([struct(1, 4), struct(2, 5), struct(3, 6)])) + |> expect.equal(_, Ok([pair.Pair(1, 4), pair.Pair(2, 5), pair.Pair(3, 6)])) list.strict_zip([5, 6], [1, 2, 3]) |> expect.is_error @@ -278,8 +278,8 @@ pub fn sort_test() { } pub fn index_map_test() { - list.index_map([3, 4, 5], fn(i, x) { struct(i, x) }) - |> expect.equal(_, [struct(0, 3), struct(1, 4), struct(2, 5)]) + list.index_map([3, 4, 5], fn(i, x) { pair.Pair(i, x) }) + |> expect.equal(_, [pair.Pair(0, 3), pair.Pair(1, 4), pair.Pair(2, 5)]) let f = fn(i, x) { string.append(x, int.to_string(i)) @@ -324,37 +324,37 @@ pub fn repeat_test() { pub fn split_test() { list.split([], 0) - |> expect.equal(_, struct([], [])) + |> expect.equal(_, pair.Pair([], [])) list.split([0, 1, 2, 3, 4], 0) - |> expect.equal(_, struct([], [0, 1, 2, 3, 4])) + |> expect.equal(_, pair.Pair([], [0, 1, 2, 3, 4])) list.split([0, 1, 2, 3, 4], -2) - |> expect.equal(_, struct([], [0, 1, 2, 3, 4])) + |> expect.equal(_, pair.Pair([], [0, 1, 2, 3, 4])) list.split([0, 1, 2, 3, 4], 1) - |> expect.equal(_, struct([0], [1, 2, 3, 4])) + |> expect.equal(_, pair.Pair([0], [1, 2, 3, 4])) list.split([0, 1, 2, 3, 4], 3) - |> expect.equal(_, struct([0, 1, 2], [3, 4])) + |> expect.equal(_, pair.Pair([0, 1, 2], [3, 4])) list.split([0, 1, 2, 3, 4], 9) - |> expect.equal(_, struct([0, 1, 2, 3, 4], [])) + |> expect.equal(_, pair.Pair([0, 1, 2, 3, 4], [])) } pub fn split_while_test() { list.split_while([], fn(x) { x <= 5 }) - |> expect.equal(_, struct([], [])) + |> expect.equal(_, pair.Pair([], [])) list.split_while([1, 2, 3, 4, 5], fn(x) { x <= 5 }) - |> expect.equal(_, struct([1, 2, 3, 4, 5], [])) + |> expect.equal(_, pair.Pair([1, 2, 3, 4, 5], [])) list.split_while([1, 2, 3, 4, 5], fn(x) { x == 2 }) - |> expect.equal(_, struct([], [1, 2, 3, 4, 5])) + |> expect.equal(_, pair.Pair([], [1, 2, 3, 4, 5])) list.split_while([1, 2, 3, 4, 5], fn(x) { x <= 3 }) - |> expect.equal(_, struct([1, 2, 3], [4, 5])) + |> expect.equal(_, pair.Pair([1, 2, 3], [4, 5])) list.split_while([1, 2, 3, 4, 5], fn(x) { x <= -3 }) - |> expect.equal(_, struct([], [1, 2, 3, 4, 5])) + |> expect.equal(_, pair.Pair([], [1, 2, 3, 4, 5])) } diff --git a/test/gleam/map_test.gleam b/test/gleam/map_test.gleam index bef0e76..96d648f 100644 --- a/test/gleam/map_test.gleam +++ b/test/gleam/map_test.gleam @@ -1,12 +1,12 @@ import gleam/string import gleam/expect import gleam/map +import gleam/pair -// TODO: replace struct with Pair pub fn from_list_test() { [ - struct(4, 0), - struct(1, 0), + pair.Pair(4, 0), + pair.Pair(1, 0), ] |> map.from_list |> map.size @@ -20,23 +20,23 @@ pub fn has_key_test() { |> expect.false [ - struct(1, 0), + pair.Pair(1, 0), ] |> map.from_list |> map.has_key(_, 1) |> expect.true [ - struct(4, 0), - struct(1, 0), + pair.Pair(4, 0), + pair.Pair(1, 0), ] |> map.from_list |> map.has_key(_, 1) |> expect.true [ - struct(4, 0), - struct(1, 0), + pair.Pair(4, 0), + pair.Pair(1, 0), ] |> map.from_list |> map.has_key(_, 0) @@ -55,8 +55,8 @@ pub fn new_test() { pub fn fetch_test() { let proplist = [ - struct(4, 0), - struct(1, 1), + pair.Pair(4, 0), + pair.Pair(1, 1), ] let m = map.from_list(proplist) @@ -79,32 +79,32 @@ pub fn put_test() { |> map.put(_, "b", 1) |> map.put(_, "c", 2) |> expect.equal(_, map.from_list([ - struct("a", 0), - struct("b", 1), - struct("c", 2), + pair.Pair("a", 0), + pair.Pair("b", 1), + pair.Pair("c", 2), ])) } pub fn map_values_test() { [ - struct(1, 0), - struct(2, 1), - struct(3, 2), + pair.Pair(1, 0), + pair.Pair(2, 1), + pair.Pair(3, 2), ] |> map.from_list |> map.map_values(_, fn(k, v) { k + v }) |> expect.equal(_, map.from_list([ - struct(1, 1), - struct(2, 3), - struct(3, 5), + pair.Pair(1, 1), + pair.Pair(2, 3), + pair.Pair(3, 5), ])) } pub fn keys_test() { [ - struct("a", 0), - struct("b", 1), - struct("c", 2), + pair.Pair("a", 0), + pair.Pair("b", 1), + pair.Pair("c", 2), ] |> map.from_list |> map.keys @@ -113,9 +113,9 @@ pub fn keys_test() { pub fn values_test() { [ - struct("a", 0), - struct("b", 1), - struct("c", 2), + pair.Pair("a", 0), + pair.Pair("b", 1), + pair.Pair("c", 2), ] |> map.from_list |> map.values @@ -124,72 +124,72 @@ pub fn values_test() { pub fn take_test() { [ - struct("a", 0), - struct("b", 1), - struct("c", 2), + pair.Pair("a", 0), + pair.Pair("b", 1), + pair.Pair("c", 2), ] |> map.from_list |> map.take(_, ["a", "b", "d"]) - |> expect.equal(_, map.from_list([struct("a", 0), struct("b", 1)])) + |> expect.equal(_, map.from_list([pair.Pair("a", 0), pair.Pair("b", 1)])) } pub fn drop_test() { [ - struct("a", 0), - struct("b", 1), - struct("c", 2), + pair.Pair("a", 0), + pair.Pair("b", 1), + pair.Pair("c", 2), ] |> map.from_list |> map.drop(_, ["a", "b", "d"]) - |> expect.equal(_, map.from_list([struct("c", 2)])) + |> expect.equal(_, map.from_list([pair.Pair("c", 2)])) } pub fn merge_test() { let a = map.from_list([ - struct("a", 2), - struct("c", 4), - struct("d", 3), + pair.Pair("a", 2), + pair.Pair("c", 4), + pair.Pair("d", 3), ]) let b = map.from_list([ - struct("a", 0), - struct("b", 1), - struct("c", 2), + pair.Pair("a", 0), + pair.Pair("b", 1), + pair.Pair("c", 2), ]) map.merge(a, b) |> expect.equal(_, map.from_list([ - struct("a", 0), - struct("b", 1), - struct("c", 2), - struct("d", 3), + pair.Pair("a", 0), + pair.Pair("b", 1), + pair.Pair("c", 2), + pair.Pair("d", 3), ])) map.merge(b, a) |> expect.equal(_, map.from_list([ - struct("a", 2), - struct("b", 1), - struct("c", 4), - struct("d", 3), + pair.Pair("a", 2), + pair.Pair("b", 1), + pair.Pair("c", 4), + pair.Pair("d", 3), ])) } pub fn delete_test() { [ - struct("a", 0), - struct("b", 1), - struct("c", 2), + pair.Pair("a", 0), + pair.Pair("b", 1), + pair.Pair("c", 2), ] |> map.from_list |> map.delete(_, "a") |> map.delete(_, "d") - |> expect.equal(_, map.from_list([struct("b", 1), struct("c", 2)])) + |> expect.equal(_, map.from_list([pair.Pair("b", 1), pair.Pair("c", 2)])) } pub fn update_test() { let dict = map.from_list([ - struct("a", 0), - struct("b", 1), - struct("c", 2), + pair.Pair("a", 0), + pair.Pair("b", 1), + pair.Pair("c", 2), ]) let inc_or_zero = fn(x) { @@ -202,35 +202,35 @@ pub fn update_test() { dict |> map.update(_, "a", inc_or_zero) |> expect.equal(_, map.from_list([ - struct("a", 1), - struct("b", 1), - struct("c", 2), + pair.Pair("a", 1), + pair.Pair("b", 1), + pair.Pair("c", 2), ])) dict |> map.update(_, "b", inc_or_zero) |> expect.equal(_, map.from_list([ - struct("a", 0), - struct("b", 2), - struct("c", 2), + pair.Pair("a", 0), + pair.Pair("b", 2), + pair.Pair("c", 2), ])) dict |> map.update(_, "z", inc_or_zero) |> expect.equal(_, map.from_list([ - struct("a", 0), - struct("b", 1), - struct("c", 2), - struct("z", 0), + pair.Pair("a", 0), + pair.Pair("b", 1), + pair.Pair("c", 2), + pair.Pair("z", 0), ])) } pub fn fold_test() { let dict = map.from_list([ - struct("a", 0), - struct("b", 1), - struct("c", 2), - struct("d", 3), + pair.Pair("a", 0), + pair.Pair("b", 1), + pair.Pair("c", 2), + pair.Pair("d", 3), ]) let add = fn(_, v, acc) { diff --git a/test/gleam/pair_test.gleam b/test/gleam/pair_test.gleam new file mode 100644 index 0000000..86a9e1e --- /dev/null +++ b/test/gleam/pair_test.gleam @@ -0,0 +1,36 @@ +import gleam/expect +import gleam/pair + +pub fn first_test() { + pair.Pair(1, 2) + |> pair.first + |> expect.equal(_, 1) +} + +pub fn second_test() { + pair.Pair(1, 2) + |> pair.second + |> expect.equal(_, 2) +} + +pub fn swap_test() { + pair.Pair(1, "2") + |> pair.swap + |> expect.equal(_, pair.Pair("2", 1)) +} + +// pub fn fetch_test() { +// let proplist = [pair.Pair(0, "1"), pair.Pair(1, "2")] + +// proplist +// |> pair.fetch(_, 0) +// |> expect.equal(_, Ok("1")) + +// proplist +// |> pair.fetch(_, 1) +// |> expect.equal(_, Ok("2")) + +// proplist +// |> pair.fetch(_, 2) +// |> expect.is_error +// } diff --git a/test/gleam/result_test.gleam b/test/gleam/result_test.gleam index 9113e6c..644a5fc 100644 --- a/test/gleam/result_test.gleam +++ b/test/gleam/result_test.gleam @@ -1,5 +1,6 @@ import gleam/expect import gleam/result +import gleam/pair pub fn is_ok_test() { result.is_ok(Ok(1)) @@ -36,10 +37,9 @@ pub fn map_error_test() { |> result.map_error(_, fn(x) { x + 1 }) |> expect.equal(_, Ok(1)) - // TODO: replace struct with Pair Error(1) - |> result.map_error(_, fn(x) { struct("ok", x + 1) }) - |> expect.equal(_, Error(struct("ok", 2))) + |> result.map_error(_, fn(x) { pair.Pair("ok", x + 1) }) + |> expect.equal(_, Error(pair.Pair("ok", 2))) } pub fn flatten_test() { diff --git a/test/gleam/tuple_test.gleam b/test/gleam/tuple_test.gleam deleted file mode 100644 index a1693b0..0000000 --- a/test/gleam/tuple_test.gleam +++ /dev/null @@ -1,46 +0,0 @@ -import gleam/expect -import gleam/tuple - -// TODO: replace struct with Pair - -pub fn new_test() { - tuple.new(1, 2) - |> expect.equal(_, struct(1, 2)) - - tuple.new(2, "3") - |> expect.equal(_, struct(2, "3")) -} - -pub fn first_test() { - struct(1, 2) - |> tuple.first - |> expect.equal(_, 1) -} - -pub fn second_test() { - struct(1, 2) - |> tuple.second - |> expect.equal(_, 2) -} - -pub fn swap_test() { - struct(1, "2") - |> tuple.swap - |> expect.equal(_, struct("2", 1)) -} - -pub fn fetch_test() { - let proplist = [struct(0, "1"), struct(1, "2")] - - proplist - |> tuple.fetch(_, 0) - |> expect.equal(_, Ok("1")) - - proplist - |> tuple.fetch(_, 1) - |> expect.equal(_, Ok("2")) - - proplist - |> tuple.fetch(_, 2) - |> expect.is_error -} |