gs-blob/src/test/scala/gs/blob/v0/BlobTests.scala
Pat Garrity 4d84eff04e
All checks were successful
/ Build and Test Library Snapshot (pull_request) Successful in 1m15s
(patch) Full test coverage, adding builds.
2024-04-26 21:11:15 -05:00

30 lines
981 B
Scala

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))
}