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