aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/gleam/binary_test.gleam42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/gleam/binary_test.gleam b/test/gleam/binary_test.gleam
new file mode 100644
index 0000000..580aff7
--- /dev/null
+++ b/test/gleam/binary_test.gleam
@@ -0,0 +1,42 @@
+import gleam/binary
+import gleam/should
+
+pub fn length_test() {
+ binary.byte_size(binary.from_string("hello"))
+ |> should.equal(5)
+
+ binary.byte_size(binary.from_string(""))
+ |> should.equal(0)
+
+}
+
+pub fn part_test() {
+ binary.from_string("hello")
+ |> binary.part(0, 5)
+ |> should.equal(binary.from_string("hello"))
+
+ binary.from_string("hello")
+ |> binary.part(0, 0)
+ |> should.equal(binary.from_string(""))
+
+ binary.from_string("hello")
+ |> binary.part(2, 2)
+ |> should.equal(binary.from_string("ll"))
+
+ binary.from_string("hello")
+ |> binary.part(5, -2)
+ |> should.equal(binary.from_string("lo"))
+}
+
+pub fn u32_test() {
+ let Ok(bin) = binary.int_to_u32(0)
+ should.equal(4, binary.byte_size(bin))
+ should.equal(Ok(0), binary.int_from_u32(bin))
+
+ let Ok(bin) = binary.int_to_u32(4294967295)
+ should.equal(4, binary.byte_size(bin))
+ should.equal(Ok(4294967295), binary.int_from_u32(bin))
+
+ should.equal(Error(Nil), binary.int_from_u32(binary.from_string("")))
+ should.equal(Error(Nil), binary.int_from_u32(binary.from_string("12345")))
+}