Skip to content

Commit 8fb5ad8

Browse files
committed
bool:compare
1 parent dd4c4d9 commit 8fb5ad8

File tree

4 files changed

+55
-34
lines changed

4 files changed

+55
-34
lines changed

gen/src/bool.erl

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
-module(bool).
22
-compile(no_auto_import).
33

4-
-export([negate/1, max/2, min/2, to_int/1]).
4+
-export([negate/1, compare/2, max/2, min/2, to_int/1]).
55

66
negate(Bool) ->
77
case Bool of
@@ -12,6 +12,21 @@ negate(Bool) ->
1212
true
1313
end.
1414

15+
compare(A, B) ->
16+
case {A, B} of
17+
{true, true} ->
18+
eq;
19+
20+
{true, false} ->
21+
gt;
22+
23+
{false, false} ->
24+
eq;
25+
26+
{false, true} ->
27+
lt
28+
end.
29+
1530
max(A, B) ->
1631
case A of
1732
true ->

gen/test/bool_test.erl

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
-module(bool_test).
22
-compile(no_auto_import).
33

4-
-export([negate_test/0, max_test/0, min_test/0, to_int_test/0]).
4+
-export([negate_test/0, compare_test/0, max_test/0, min_test/0, to_int_test/0]).
55

66
negate_test() ->
77
expect:false(bool:negate(true)),
88
expect:true(bool:negate(false)).
99

10+
compare_test() ->
11+
expect:equal(bool:compare(true, true), eq),
12+
expect:equal(bool:compare(true, false), gt),
13+
expect:equal(bool:compare(false, false), eq),
14+
expect:equal(bool:compare(false, true), lt).
15+
1016
max_test() ->
1117
expect:equal(bool:max(true, true), true),
1218
expect:equal(bool:max(true, false), true),

src/bool.gleam

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// import order
1+
import order
22

33
pub fn negate(bool) {
44
case bool {
@@ -7,14 +7,14 @@ pub fn negate(bool) {
77
}
88
}
99

10-
// pub fn compare(a, b) {
11-
// case {a, b} {
12-
// | {True, True} -> order:Eq
13-
// | {True, False} -> order:Gt
14-
// | {False, False} -> order:Eq
15-
// | {False, True} -> order:Lt
16-
// }
17-
// }
10+
pub fn compare(a, b) {
11+
case {a, b} {
12+
| {True, True} -> order:Eq
13+
| {True, False} -> order:Gt
14+
| {False, False} -> order:Eq
15+
| {False, True} -> order:Lt
16+
}
17+
}
1818

1919
pub fn max(a, b) {
2020
case a {

test/bool_test.gleam

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,61 @@
11
import bool
2-
// import order
2+
import order
33
import expect
44

55
pub fn negate_test() {
66
bool:negate(True)
7-
|> expect:false
7+
|> expect:false
88

99
bool:negate(False)
10-
|> expect:true
10+
|> expect:true
1111
}
1212

13-
// pub fn compare_test() {
14-
// bool:compare(True, True)
15-
// |> expect:equal(_, order:Eq)
13+
pub fn compare_test() {
14+
bool:compare(True, True)
15+
|> expect:equal(_, order:Eq)
1616

17-
// bool:compare(True, False)
18-
// |> expect:equal(_, order:Gt)
17+
bool:compare(True, False)
18+
|> expect:equal(_, order:Gt)
1919

20-
// bool:compare(False, False)
21-
// |> expect:equal(_, order:Lt)
20+
bool:compare(False, False)
21+
|> expect:equal(_, order:Eq)
2222

23-
// bool:compare(False, True)
24-
// |> expect:equal(_, order:Gt)
25-
// }
23+
bool:compare(False, True)
24+
|> expect:equal(_, order:Lt)
25+
}
2626

2727
pub fn max_test() {
2828
bool:max(True, True)
29-
|> expect:equal(_, True)
29+
|> expect:equal(_, True)
3030

3131
bool:max(True, False)
32-
|> expect:equal(_, True)
32+
|> expect:equal(_, True)
3333

3434
bool:max(False, False)
35-
|> expect:equal(_, False)
35+
|> expect:equal(_, False)
3636

3737
bool:max(False, True)
38-
|> expect:equal(_, True)
38+
|> expect:equal(_, True)
3939
}
4040

4141
pub fn min_test() {
4242
bool:min(True, True)
43-
|> expect:equal(_, True)
43+
|> expect:equal(_, True)
4444

4545
bool:min(True, False)
46-
|> expect:equal(_, False)
46+
|> expect:equal(_, False)
4747

4848
bool:min(False, False)
49-
|> expect:equal(_, False)
49+
|> expect:equal(_, False)
5050

5151
bool:min(False, True)
52-
|> expect:equal(_, False)
52+
|> expect:equal(_, False)
5353
}
5454

5555
pub fn to_int_test() {
5656
bool:to_int(True)
57-
|> expect:equal(_, 1)
57+
|> expect:equal(_, 1)
5858

5959
bool:to_int(False)
60-
|> expect:equal(_, 0)
60+
|> expect:equal(_, 0)
6161
}

0 commit comments

Comments
 (0)