diff --git a/test/at/tid_test.gleam b/test/at/tid_test.gleam new file mode 100644 index 0000000..ca545fa --- /dev/null +++ b/test/at/tid_test.gleam @@ -0,0 +1,37 @@ +// IMPORTS --------------------------------------------------------------------- + +import at/tid +import gleam/list + +// FIXTURES -------------------------------------------------------------------- + +const valid = [ + "3jzfcijpj2z2a", + "7777777777777", + "3zzzzzzzzzzzz", +] + +const invalid = [ + "3jzfcijpj2z21", + "0000000000000", + "3jzfcijpj2z2aa", + "3jzfcijpj2z2", + "3jzf-cij-pj2z-2a", + "zzzzzzzzzzzzz", + "kjzfcijpj2z2a", +] + +// INTEROP TESTS --------------------------------------------------------------- + +pub fn atproto_interop_valid_tid_test() { + use input <- list.each(valid) + let assert Ok(tid) = tid.from_string(input) as input + + assert tid.to_string(tid) == input +} + +pub fn atproto_interop_invalid_tid_test() { + use input <- list.each(invalid) + + assert tid.from_string(input) == Error(Nil) as input +}