Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        public void ToZ85String_PaddingRequired_OutputSizeIsCorrect()
        {
            var input              = "HelloWorld";
            var inputBytes         = System.Text.Encoding.Default.GetBytes(input);
            var expectedEncodeSize = 15 + 1; // 4 bytes become 5, so with padding HelloWorld is 15 bytes encoded (+1 for padding value)

            var output = Z85Encoder.ToZ85String(inputBytes, true);

            Assert.Equal(expectedEncodeSize, output.Length);
        }
Exemple #4
0
        public void ToZ85String_NoPaddingRequired_OutputSizeIsCorrect()
        {
            var input              = "ABCD1234";
            var inputBytes         = Encoding.Default.GetBytes(input);
            var expectedEncodeSize = 10; // 4 bytes become 5

            var output = Z85Encoder.ToZ85String(inputBytes, false);

            Assert.Equal(expectedEncodeSize, output.Length);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        public void FromZ85String_PaddingCharacterIncorrectValue_ThrowsException()
        {
            var encodedText = "InvalidChr4"; // Padding char must be 0, 1, 2 or 3

            Assert.Throws <ArgumentException>(() => Z85Encoder.FromZ85String(encodedText));
        }
Exemple #8
0
        public void FromZ85String_PaddingCharacterNotDigit_ThrowsException()
        {
            var encodedText = "IllegalChrA"; // Padding char must be 0, 1, 2 or 3

            Assert.Throws <ArgumentException>(() => Z85Encoder.FromZ85String(encodedText));
        }
Exemple #9
0
        public void FromZ85String_InputSizeIncorrect_ThrowsException()
        {
            var encodedText = "WrongSize"; // Length - 1 not divisible by 5

            Assert.Throws <ArgumentException>(() => Z85Encoder.FromZ85String(encodedText));
        }