From fa5cb2c42bc24910b8705d13c7677a679c9a28a9 Mon Sep 17 00:00:00 2001 From: multipleof4 Date: Fri, 27 Mar 2026 00:49:59 -0700 Subject: [PATCH] Feat: add integration tests for public API Co-authored-by: gpt-5.3-codex --- tests/zwus.rs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tests/zwus.rs diff --git a/tests/zwus.rs b/tests/zwus.rs new file mode 100644 index 0000000..618cb35 --- /dev/null +++ b/tests/zwus.rs @@ -0,0 +1,28 @@ +use zwus::Zwus; + +#[test] +fn roundtrip_string_base_3_6_8() { + let text = "secret 🦀 unicode"; + for base in [3u8, 6, 8] { + let encoded = Zwus::encode_string_with_base(text, base); + let decoded = Zwus::decode_to_string_with_base(&encoded, base); + assert_eq!(decoded, text); + } +} + +#[test] +fn roundtrip_number_array_base_3_6_8() { + let nums = [0u32, 72, 101, 108, 108, 111, 0x10FFFF]; + for base in [3u8, 6, 8] { + let encoded = Zwus::encode_number_array_with_base(&nums, base); + let decoded = Zwus::decode_to_number_array_with_base(&encoded, base); + assert_eq!(decoded, nums); + } +} + +#[test] +fn decode_ignores_non_zwus_characters() { + let hidden = Zwus::encode_string_with_base("secret", 6); + let mixed = format!("te{hidden}xt"); + assert_eq!(Zwus::decode_to_string_with_base(&mixed, 6), "secret"); +}