aboutsummaryrefslogtreecommitdiff
path: root/gen
diff options
context:
space:
mode:
Diffstat (limited to 'gen')
-rw-r--r--gen/src/bool.erl17
-rw-r--r--gen/test/bool_test.erl8
2 files changed, 23 insertions, 2 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),