Ejemplo n.º 1
0
        public void BufferToHexConvertTest(int count)
        {
            var expectedBuffer = new byte[count];

            new Random(count).NextBytes(expectedBuffer);
            var expectedHexString = BitConverter.ToString(expectedBuffer).Replace("-", "").ToLowerInvariant();
            var expectedHexBuffer = expectedHexString.ToCharArray();

            // buffer -> hex string
            var hexString = HexConvert.ToString(expectedBuffer, 0, expectedBuffer.Length);

            Assert.Equal(expectedHexString, hexString);
            // buffer -> hex buffer
            var hexBuffer = HexConvert.ToCharArray(expectedBuffer, 0, expectedBuffer.Length);

            Assert.Equal(expectedHexBuffer, hexBuffer);

            // buffer -> hex buffer (copy)
            hexBuffer = new char[expectedHexBuffer.Length];
            HexConvert.Encode(new ArraySegment <byte>(expectedBuffer, 0, expectedBuffer.Length), new ArraySegment <char>(hexBuffer));
            Assert.Equal(expectedHexBuffer, hexBuffer);
        }
Ejemplo n.º 2
0
        public void HexBytesEncodeTest(int count)
        {
            var inputBytes = new byte[count];
            var r          = new Random(count);

            r.NextBytes(inputBytes);
            var expectedBase64String = BitConverter.ToString(inputBytes).Replace("-", "").ToLowerInvariant();
            var expectedBase64Buffer = expectedBase64String.ToCharArray().Select(v => (byte)v).ToArray();

            // transform block
            var inputOffset = r.Next(0, 100);
            var inputBuffer = new byte[inputOffset + inputBytes.Length + inputOffset];

            Buffer.BlockCopy(inputBytes, 0, inputBuffer, inputOffset, inputBytes.Length);
            var outputOffset = r.Next(0, 100);
            var outputBuffer = new byte[outputOffset + expectedBase64Buffer.Length];
            var written      = HexConvert.Encode(new ArraySegment <byte>(inputBuffer, inputOffset, inputBytes.Length), new ArraySegment <byte>(outputBuffer, outputOffset, outputBuffer.Length - outputOffset), out var inputUsed, out var outputUsed);
            var actualOutput = outputBuffer.Skip(outputOffset).ToArray();

            Assert.Equal(expectedBase64Buffer.Length, written);
            Assert.Equal(expectedBase64Buffer.Length, outputUsed);
            Assert.Equal(inputBytes.Length, inputUsed);
            Assert.Equal(expectedBase64Buffer, actualOutput);
        }