public void WriteString_should_write_expected_bytes_when_size_is_near_tempUtf8_length( [Values(-1, 0, 1)] int delta) { var stream = new MemoryStream(); var subject = new BsonStreamAdapter(stream); var subjectReflector = new Reflector(subject); var size = subjectReflector._tempUtf8.Length + delta; var length = size - 1; var value = new string('a', length); var expectedBytes = BitConverter.GetBytes(length + 1).Concat(Enumerable.Repeat<byte>(97, length)).Concat(new byte[] { 0 }).ToArray(); subject.WriteString(value, Utf8Encodings.Strict); stream.ToArray().Should().Equal(expectedBytes); }
public void WriteString_should_write_expected_bytes(string value, byte[] expectedBytes) { var stream = new MemoryStream(); var subject = new BsonStreamAdapter(stream); subject.WriteString(value, Utf8Encodings.Strict); stream.ToArray().Should().Equal(expectedBytes); }
public void WriteString_should_throw_when_subject_is_disposed() { var stream = Substitute.For<Stream>(); var subject = new BsonStreamAdapter(stream); var value = "abc"; subject.Dispose(); Action action = () => subject.WriteString(value, Utf8Encodings.Strict); action.ShouldThrow<ObjectDisposedException>().And.ObjectName.Should().Be("BsonStreamAdapter"); }
public void WriteString_should_throw_when_value_is_null() { var stream = Substitute.For<Stream>(); var subject = new BsonStreamAdapter(stream); Action action = () => subject.WriteString(null, Utf8Encodings.Strict); action.ShouldThrow<ArgumentNullException>().And.ParamName.Should().Be("value"); }
public void WriteString_should_throw_when_encoding_is_null() { var stream = Substitute.For<Stream>(); var subject = new BsonStreamAdapter(stream); var value = "abc"; Action action = () => subject.WriteString(value, null); action.ShouldThrow<ArgumentNullException>().And.ParamName.Should().Be("encoding"); }