aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/gleam/function_test.gleam50
1 files changed, 32 insertions, 18 deletions
diff --git a/test/gleam/function_test.gleam b/test/gleam/function_test.gleam
index 5b3ca42..1c3b4b8 100644
--- a/test/gleam/function_test.gleam
+++ b/test/gleam/function_test.gleam
@@ -1,15 +1,15 @@
import gleam/expect
-import gleam/function.{compose, flip}
-import gleam/int as int_mod
+import gleam/function
+import gleam/int
import gleam/list
import gleam/result
-import gleam/string as string_mod
+import gleam/string
pub fn compose_test() {
let add_two = fn(int: Int) { int + 2 }
let add_three = fn(int: Int) { int + 3 }
- let add_five = compose(add_two, add_three)
+ let add_five = function.compose(add_two, add_three)
1
|> add_five
@@ -18,13 +18,9 @@ pub fn compose_test() {
// Takes a list of ints and returns the head as a string (if there is one, or
// else "0" if there is not)
let head_to_string =
- compose(
- list.head,
- fn(int_result: Result(Int, Nil)) {
- result.unwrap(int_result, 0)
- |> int_mod.to_string
- }
- )
+ list.head
+ |> function.compose(_, result.unwrap(_, 0))
+ |> function.compose(_, int.to_string)
[1]
|> head_to_string
@@ -36,15 +32,15 @@ pub fn compose_test() {
}
pub fn flip_test() {
- let fun = fn(string: String, int: Int) {
- string
- |> string_mod.append("String: '", _)
- |> string_mod.append(_, "', Int: '")
- |> string_mod.append(_, int_mod.to_string(int))
- |> string_mod.append(_, "'")
+ let fun = fn(s: String, i: Int) {
+ s
+ |> string.append("String: '", _)
+ |> string.append(_, "', Int: '")
+ |> string.append(_, int.to_string(i))
+ |> string.append(_, "'")
}
- let flipped_fun = flip(fun)
+ let flipped_fun = function.flip(fun)
fun("Bob", 1)
|> expect.equal(_, "String: 'Bob', Int: '1'")
@@ -52,3 +48,21 @@ pub fn flip_test() {
flipped_fun(2, "Alice")
|> expect.equal(_, "String: 'Alice', Int: '2'")
}
+
+pub fn identity_test() {
+ 1
+ |> function.identity
+ |> expect.equal(_, 1)
+
+ ""
+ |> function.identity
+ |> expect.equal(_, "")
+
+ []
+ |> function.identity
+ |> expect.equal(_, [])
+
+ tuple(1, 2.0)
+ |> function.identity
+ |> expect.equal(_, tuple(1, 2.0))
+}