aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gen/src/bool.erl17
-rw-r--r--gen/test/bool_test.erl8
-rw-r--r--src/bool.gleam18
-rw-r--r--test/bool_test.gleam46
4 files changed, 55 insertions, 34 deletions
diff --git a/gen/src/bool.erl b/gen/src/bool.erl
index e4e1108..47fba5d 100644
--- a/gen/src/bool.erl
+++ b/gen/src/bool.erl
@@ -1,7 +1,7 @@
-module(bool).
-compile(no_auto_import).
--export([negate/1, max/2, min/2, to_int/1]).
+-export([negate/1, compare/2, max/2, min/2, to_int/1]).
negate(Bool) ->
case Bool of
@@ -12,6 +12,21 @@ negate(Bool) ->
true
end.
+compare(A, B) ->
+ case {A, B} of
+ {true, true} ->
+ eq;
+
+ {true, false} ->
+ gt;
+
+ {false, false} ->
+ eq;
+
+ {false, true} ->
+ lt
+ end.
+
max(A, B) ->
case A of
true ->
diff --git a/gen/test/bool_test.erl b/gen/test/bool_test.erl
index c38f780..d2f0322 100644
--- a/gen/test/bool_test.erl
+++ b/gen/test/bool_test.erl
@@ -1,12 +1,18 @@
-module(bool_test).
-compile(no_auto_import).
--export([negate_test/0, max_test/0, min_test/0, to_int_test/0]).
+-export([negate_test/0, compare_test/0, max_test/0, min_test/0, to_int_test/0]).
negate_test() ->
expect:false(bool:negate(true)),
expect:true(bool:negate(false)).
+compare_test() ->
+ expect:equal(bool:compare(true, true), eq),
+ expect:equal(bool:compare(true, false), gt),
+ expect:equal(bool:compare(false, false), eq),
+ expect:equal(bool:compare(false, true), lt).
+
max_test() ->
expect:equal(bool:max(true, true), true),
expect:equal(bool:max(true, false), true),
diff --git a/src/bool.gleam b/src/bool.gleam
index 46cca60..f954897 100644
--- a/src/bool.gleam
+++ b/src/bool.gleam
@@ -1,4 +1,4 @@
-// import order
+import order
pub fn negate(bool) {
case bool {
@@ -7,14 +7,14 @@ pub fn negate(bool) {
}
}
-// pub fn compare(a, b) {
-// case {a, b} {
-// | {True, True} -> order:Eq
-// | {True, False} -> order:Gt
-// | {False, False} -> order:Eq
-// | {False, True} -> order:Lt
-// }
-// }
+pub fn compare(a, b) {
+ case {a, b} {
+ | {True, True} -> order:Eq
+ | {True, False} -> order:Gt
+ | {False, False} -> order:Eq
+ | {False, True} -> order:Lt
+ }
+}
pub fn max(a, b) {
case a {
diff --git a/test/bool_test.gleam b/test/bool_test.gleam
index 78c711b..412989f 100644
--- a/test/bool_test.gleam
+++ b/test/bool_test.gleam
@@ -1,61 +1,61 @@
import bool
-// import order
+import order
import expect
pub fn negate_test() {
bool:negate(True)
- |> expect:false
+ |> expect:false
bool:negate(False)
- |> expect:true
+ |> expect:true
}
-// pub fn compare_test() {
-// bool:compare(True, True)
-// |> expect:equal(_, order:Eq)
+pub fn compare_test() {
+ bool:compare(True, True)
+ |> expect:equal(_, order:Eq)
-// bool:compare(True, False)
-// |> expect:equal(_, order:Gt)
+ bool:compare(True, False)
+ |> expect:equal(_, order:Gt)
-// bool:compare(False, False)
-// |> expect:equal(_, order:Lt)
+ bool:compare(False, False)
+ |> expect:equal(_, order:Eq)
-// bool:compare(False, True)
-// |> expect:equal(_, order:Gt)
-// }
+ bool:compare(False, True)
+ |> expect:equal(_, order:Lt)
+}
pub fn max_test() {
bool:max(True, True)
- |> expect:equal(_, True)
+ |> expect:equal(_, True)
bool:max(True, False)
- |> expect:equal(_, True)
+ |> expect:equal(_, True)
bool:max(False, False)
- |> expect:equal(_, False)
+ |> expect:equal(_, False)
bool:max(False, True)
- |> expect:equal(_, True)
+ |> expect:equal(_, True)
}
pub fn min_test() {
bool:min(True, True)
- |> expect:equal(_, True)
+ |> expect:equal(_, True)
bool:min(True, False)
- |> expect:equal(_, False)
+ |> expect:equal(_, False)
bool:min(False, False)
- |> expect:equal(_, False)
+ |> expect:equal(_, False)
bool:min(False, True)
- |> expect:equal(_, False)
+ |> expect:equal(_, False)
}
pub fn to_int_test() {
bool:to_int(True)
- |> expect:equal(_, 1)
+ |> expect:equal(_, 1)
bool:to_int(False)
- |> expect:equal(_, 0)
+ |> expect:equal(_, 0)
}