aboutsummaryrefslogtreecommitdiff
path: root/gen
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2019-05-10 14:31:53 +0100
committerLouis Pilfold <louis@lpil.uk>2019-05-10 14:31:53 +0100
commit8fb5ad85ab623f93cfc0670bc11ec12856a9b4cd (patch)
tree6fa6a7acf4652ec546385f9e433488b2821a7698 /gen
parentdd4c4d9e0e45a487f89cf98bfc24855990e4a8a5 (diff)
downloadgleam_stdlib-8fb5ad85ab623f93cfc0670bc11ec12856a9b4cd.tar.gz
gleam_stdlib-8fb5ad85ab623f93cfc0670bc11ec12856a9b4cd.zip
bool:compare
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),