aboutsummaryrefslogtreecommitdiff
path: root/test/gleam/int_test.gleam
diff options
context:
space:
mode:
Diffstat (limited to 'test/gleam/int_test.gleam')
-rw-r--r--test/gleam/int_test.gleam34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/gleam/int_test.gleam b/test/gleam/int_test.gleam
index 07832dd..1fbc102 100644
--- a/test/gleam/int_test.gleam
+++ b/test/gleam/int_test.gleam
@@ -282,3 +282,37 @@ pub fn product_test() {
int.product([1, 2, 3])
|> should.equal(6)
}
+
+pub fn digits_test() {
+ int.digits(123, 10)
+ |> should.equal(Ok([1, 2, 3]))
+
+ int.digits(-123, 10)
+ |> should.equal(Ok([-1, -2, -3]))
+
+ int.digits(123, 2)
+ |> should.equal(Ok([1, 1, 1, 1, 0, 1, 1]))
+
+ int.digits(123, 1)
+ |> should.equal(Error(int.InvalidBase))
+}
+
+pub fn undigits_test() {
+ int.undigits([], 10)
+ |> should.equal(Ok(0))
+
+ int.undigits([1, 2, 3], 10)
+ |> should.equal(Ok(123))
+
+ int.undigits([-1, -2, -3], 10)
+ |> should.equal(Ok(-123))
+
+ int.undigits([1, 1, 1, 1, 0, 1, 1], 2)
+ |> should.equal(Ok(123))
+
+ int.undigits([1, 2, 3], 1)
+ |> should.equal(Error(int.InvalidBase))
+
+ int.undigits([1, 1, 2], 2)
+ |> should.equal(Error(int.InvalidBase))
+}