public void Encode() { FormatterContext formatterContext = new FormatterContext(FormatterContext.DefaultBufferSize); _encoder.Encode(_data1, ref formatterContext); Assert.IsTrue(formatterContext.DataLength == _encodedData1.Length); byte[] encodedData = formatterContext.GetData(); for (int i = _encodedData1.Length - 1; i >= 0; i--) { Assert.IsTrue(_encodedData1[i] == encodedData[i]); } formatterContext.Clear(); _encoder.Encode(_data2, ref formatterContext); Assert.IsTrue(formatterContext.DataLength == _encodedData2.Length); encodedData = formatterContext.GetData(); for (int i = _encodedData2.Length - 1; i >= 0; i--) { Assert.IsTrue(_encodedData2[i] == encodedData[i]); } }
public void GetDataAndClear() { FormatterContext formatterContext = new FormatterContext( FormatterContext.DefaultBufferSize); formatterContext.Write(_data); byte[] availableData = formatterContext.GetData(); Assert.IsNotNull(availableData); Assert.IsTrue(availableData.Length == _binaryData.Length); Assert.IsTrue(_data.Equals(Encoding.UTF7.GetString(availableData))); formatterContext.Clear(); availableData = formatterContext.GetData(); Assert.IsNull(availableData); }
public void BinaryWriting() { FormatterContext formatterContext = new FormatterContext( FormatterContext.DefaultBufferSize); formatterContext.Write(_binaryData); byte[] availableData = formatterContext.GetData(); Assert.IsNotNull(availableData); Assert.IsTrue(availableData.Length == _binaryData.Length); for (int i = availableData.Length - 1; i >= 0; i--) { Assert.IsTrue(availableData[i] == _binaryData[i]); } }
public void PartialBinaryWriting() { FormatterContext formatterContext = new FormatterContext( FormatterContext.DefaultBufferSize); int binaryDataOffset = 3; formatterContext.Write(_binaryData, binaryDataOffset, _binaryData.Length - binaryDataOffset); byte[] availableData = formatterContext.GetData(); Assert.IsNotNull(availableData); Assert.IsTrue(availableData.Length == (_binaryData.Length - binaryDataOffset)); for (int i = availableData.Length - 1; i >= 0; i--) { Assert.IsTrue(availableData[i] == _binaryData[i + binaryDataOffset]); } }
public void Encode() { FormatterContext formatterContext = new FormatterContext(FormatterContext.DefaultBufferSize); int[] sizes = { 3, 15, 999, 4510, 16384, 681115 }; byte[][] expectedData = { new byte[] { 3 }, new byte[] { 0x15 }, new byte[] {9, 0x99 }, new byte[] {0x45, 0x10 }, new byte[] {1, 0x63, 0x84 }, new byte[] {0x68, 0x11, 0x15 } }; BcdLengthEncoder encoder; byte[] data; for (int i = 0; i < sizes.Length; i++) { encoder = BcdLengthEncoder.GetInstance(sizes[i]); encoder.Encode(sizes[i], ref formatterContext); data = formatterContext.GetData(); Assert.IsTrue(data.Length == expectedData[i].Length); for (int j = expectedData[i].Length - 1; j >= 0; j--) { Assert.IsTrue(data[j] == expectedData[i][j]); } formatterContext.Clear(); } encoder = BcdLengthEncoder.GetInstance(99); try { encoder.Encode(100, ref formatterContext); Assert.Fail(); } catch (ArgumentOutOfRangeException e) { Assert.IsTrue(e.ParamName == "length"); } }
public void Encode() { FormatterContext formatterContext = new FormatterContext(FormatterContext.DefaultBufferSize); int[] sizes = { 0, 115, 1999, 14510, 116384, 1681115 }; byte[][] expectedData = { new byte[] { 0 }, new byte[] { 0x73 }, new byte[] {7, 0xCF }, new byte[] {0x38, 0xAE }, new byte[] {1, 0xC6, 0xA0 }, new byte[] {0x19, 0xA6, 0xDB } }; NboLengthEncoder encoder; byte[] data; for (int i = 0; i < sizes.Length; i++) { encoder = NboLengthEncoder.GetInstance(sizes[i]); encoder.Encode(sizes[i], ref formatterContext); data = formatterContext.GetData(); Assert.IsTrue(data.Length == expectedData[i].Length); for (int j = expectedData[i].Length - 1; j >= 0; j--) { Assert.IsTrue(data[j] == expectedData[i][j]); } formatterContext.Clear(); } encoder = NboLengthEncoder.GetInstance(65535); try { encoder.Encode(65536, ref formatterContext); Assert.Fail(); } catch (ArgumentOutOfRangeException e) { Assert.IsTrue(e.ParamName == "length"); } }