diff options
author | Danik Vitek <x3665107@gmail.com> | 2024-03-17 21:57:31 +0200 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2024-03-18 15:12:18 +0000 |
commit | 2427639f3a5f4495a14d6d766e518589970c632a (patch) | |
tree | 009a34ae46dcf341d49c6048448655a709c2ac91 /test | |
parent | 0c2faa96418c6a6e4c76a6f87eba265a35e8e3b7 (diff) | |
download | gleam_stdlib-2427639f3a5f4495a14d6d766e518589970c632a.tar.gz gleam_stdlib-2427639f3a5f4495a14d6d766e518589970c632a.zip |
Implement `iterator.filter_map`
Diffstat (limited to 'test')
-rw-r--r-- | test/gleam/iterator_test.gleam | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/gleam/iterator_test.gleam b/test/gleam/iterator_test.gleam index 189f283..bc024a9 100644 --- a/test/gleam/iterator_test.gleam +++ b/test/gleam/iterator_test.gleam @@ -2,6 +2,7 @@ import gleam/iterator.{Done, Next} import gleam/list import gleam/dict import gleam/should +import gleam/int // a |> from_list |> to_list == a pub fn to_from_list_test() { @@ -272,6 +273,24 @@ pub fn filter_test() { testcase([1, 2, 3, 4, 5, 6], even) } +pub fn filter_map_test() { + let testcase = fn(subject, f) { + subject + |> iterator.from_list + |> iterator.filter_map(f) + |> iterator.to_list + |> should.equal(list.filter_map(subject, f)) + } + + testcase([], int.parse) + testcase(["1"], int.parse) + testcase(["1", "2", "3"], int.parse) + testcase(["1", "a", "b"], int.parse) + testcase(["l", "2", "3", "a"], int.parse) + testcase(["1", "c", "3", "a", "b"], int.parse) + testcase(["1", "20", "ten", "4", "5", "69"], int.parse) +} + pub fn repeat_test() { 1 |> iterator.repeat |