public void WriteDecimal128_should_throw_when_subject_is_disposed() { var mockStream = new Mock<Stream>(); var subject = new BsonStreamAdapter(mockStream.Object); subject.Dispose(); Action action = () => subject.WriteDecimal128(Decimal128.Zero); action.ShouldThrow<ObjectDisposedException>().And.ObjectName.Should().Be("BsonStreamAdapter"); }
public void WriteDecimal128_should_write_expected_bytes( [Values("-1.0", "0.0", "1.0", "NaN", "-Infinity", "Infinity")] string valueString) { var value = Decimal128.Parse(valueString); var stream = new MemoryStream(); var subject = new BsonStreamAdapter(stream); var expectedBytes = new byte[16]; Buffer.BlockCopy(BitConverter.GetBytes(value.GetIEEELowBits()), 0, expectedBytes, 0, 8); Buffer.BlockCopy(BitConverter.GetBytes(value.GetIEEEHighBits()), 0, expectedBytes, 8, 8); subject.WriteDecimal128(value); stream.ToArray().Should().Equal(expectedBytes); }