package gs.blob.v0 class BlobTests extends munit.FunSuite: test("should manage arrays of bytes") { val a1: Array[Byte] = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) val b1: Blob = Blob(a1) val b2: Blob = Blob(a1) val b3: Blob = Blob(Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)) assert(b1.sameBytesAs(b2)) assert(!b1.sameBytesAs(b3)) assert(b1.length() == 10) assert(b1.length() == b2.length()) assert(b1.toByteArray().sameElements(a1)) } test("should support from/to base64") { val blob: Blob = Blob(Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)) val encoded = blob.toBase64() val decoded = Blob.fromBase64(encoded) assert(decoded.map(_.sameBytesAs(blob)) == Some(true)) } test("should support from/to hex") { val blob: Blob = Blob(Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)) val encoded = blob.toHex() val decoded = Blob.fromHex(encoded) assert(decoded.map(_.sameBytesAs(blob)) == Some(true)) }