public void FromZ85String_HelloWorld_Success() { var encodedString = "HelloWorld"; var expectedOutput = new byte[] { 0x86, 0x4F, 0xD2, 0x6F, 0xB5, 0x59, 0xF7, 0x5B }; var output = Z85Encoder.FromZ85String(encodedString); Assert.Equal(expectedOutput, output); }
public void FromZ85String_OutputSizeIsCorrect() { var encodedText = "ABCDE12345"; var expectedDecodeSize = 8; // 5 characters decode to 4 bytes var output = Z85Encoder.FromZ85String(encodedText); Assert.Equal(expectedDecodeSize, output.Length); }
public void EncodeDecode_PaddingRequired_Success() { var input = "HelloWorld"; // 10 bytes - NOT divisible by 4 with no remainder var inputBytes = System.Text.Encoding.Default.GetBytes(input); var outputBytes = Z85Encoder.FromZ85String(Z85Encoder.ToZ85String(inputBytes, true)); var output = System.Text.Encoding.Default.GetString(outputBytes); Assert.Equal(input, output); }
public void EncodeDecode_NoPaddingRequired_Success() { var input = "RiAZ3bax"; // 8 bytes - divisible by 4 with no remainder var inputBytes = System.Text.Encoding.Default.GetBytes(input); var outputBytes = Z85Encoder.FromZ85String(Z85Encoder.ToZ85String(inputBytes, false)); var output = System.Text.Encoding.Default.GetString(outputBytes); Assert.Equal(input, output); }
public void FromZ85String_PaddingCharacterIncorrectValue_ThrowsException() { var encodedText = "InvalidChr4"; // Padding char must be 0, 1, 2 or 3 Assert.Throws <ArgumentException>(() => Z85Encoder.FromZ85String(encodedText)); }
public void FromZ85String_PaddingCharacterNotDigit_ThrowsException() { var encodedText = "IllegalChrA"; // Padding char must be 0, 1, 2 or 3 Assert.Throws <ArgumentException>(() => Z85Encoder.FromZ85String(encodedText)); }
public void FromZ85String_InputSizeIncorrect_ThrowsException() { var encodedText = "WrongSize"; // Length - 1 not divisible by 5 Assert.Throws <ArgumentException>(() => Z85Encoder.FromZ85String(encodedText)); }