public void TestDecimalFixed(string expected, int scale, int len) { using (var stream = new MemoryStream()) using (var encoder = new BinaryEncoder(stream)) using (var decoder = new BinaryDecoder(stream)) { var expectedDecimal = decimal.Parse(expected); encoder.WriteDecimal(expectedDecimal, scale, len); stream.Seek(0, SeekOrigin.Begin); var actual = decoder.ReadDecimal(scale, len); Assert.AreEqual(expectedDecimal, actual); } }
public void DecodeDecimalFixed(string expectedValue, int scale, int expectedLength, byte[] value) { var expectedDecimalValue = decimal.Parse(expectedValue); using (var stream = new MemoryStream(value)) using (var decoder = new BinaryDecoder(stream)) { var decode = decoder.ReadDecimal(scale, expectedLength); Assert.AreEqual(expectedLength, stream.Position, "Decode offset error"); Assert.AreEqual(expectedDecimalValue, decode); stream.Seek(0, SeekOrigin.Begin); decoder.SkipDecimal(expectedLength); Assert.AreEqual(expectedLength, stream.Position, "Skip offset error"); } }