public void WriteMessage_should_throw_if_message_is_null() { using (var stream = new MemoryStream()) { var subject = new UpdateMessageBinaryEncoder(stream, __messageEncoderSettings); Action action = () => subject.WriteMessage(null); action.ShouldThrow <ArgumentNullException>(); } }
public void WriteMessage_should_write_a_message() { using (var stream = new MemoryStream()) { var subject = new UpdateMessageBinaryEncoder(stream, __messageEncoderSettings); subject.WriteMessage(__testMessage); var bytes = stream.ToArray(); bytes.Should().Equal(__testMessageBytes); } }
public void WriteMessage_should_throw_if_binaryWriter_was_not_provided() { using (var stream = new MemoryStream()) using (var binaryReader = new BsonBinaryReader(stream)) { var subject = new UpdateMessageBinaryEncoder(binaryReader, null); Action action = () => subject.WriteMessage(__testMessage); action.ShouldThrow <InvalidOperationException>(); } }
public void WriteMessage_should_throw_if_the_update_message_is_empty_when_using_the_UpdateElementNameValidator() { var message = new UpdateMessage(__requestId, __collectionNamespace, __query, new BsonDocument(), UpdateElementNameValidator.Instance, false, false); using (var stream = new MemoryStream()) { var subject = new UpdateMessageBinaryEncoder(stream, __messageEncoderSettings); Action act = () => subject.WriteMessage(message); act.ShouldThrow <BsonSerializationException>(); } }
public void WriteMessage_should_encode_flags_correctly(int flags, bool isUpsert, bool isMulti) { var message = new UpdateMessage(__requestId, __collectionNamespace, __query, __update, __updateValidator, isMulti, isUpsert); using (var stream = new MemoryStream()) { var subject = new UpdateMessageBinaryEncoder(stream, __messageEncoderSettings); subject.WriteMessage(message); var bytes = stream.ToArray(); bytes[__flagsOffset].Should().Be((byte)flags); } }
public void WriteMessage_should_encode_flags_correctly(int flags, bool isUpsert, bool isMulti) { var message = new UpdateMessage(__requestId, __databaseName, __collectionName, __query, __update, isMulti, isUpsert); using (var stream = new MemoryStream()) using (var binaryWriter = new BsonBinaryWriter(stream)) { var subject = new UpdateMessageBinaryEncoder(null, binaryWriter); subject.WriteMessage(message); var bytes = stream.ToArray(); bytes[__flagsOffset].Should().Be((byte)flags); } }
public void WriteMessage_should_throw_if_the_update_message_is_empty_when_using_the_UpdateElementNameValidator() { var message = new UpdateMessage(__requestId, __collectionNamespace, __query, new BsonDocument(), UpdateElementNameValidator.Instance, false, false); using (var stream = new MemoryStream()) { var subject = new UpdateMessageBinaryEncoder(stream, __messageEncoderSettings); Action act = () => subject.WriteMessage(message); act.ShouldThrow<BsonSerializationException>(); } }
public void WriteMessage_should_throw_if_message_is_null() { using (var stream = new MemoryStream()) { var subject = new UpdateMessageBinaryEncoder(stream, __messageEncoderSettings); Action action = () => subject.WriteMessage(null); action.ShouldThrow<ArgumentNullException>(); } }
public void WriteMessage_should_throw_if_binaryWriter_was_not_provided() { using (var stream = new MemoryStream()) using (var binaryReader = new BsonBinaryReader(stream)) { var subject = new UpdateMessageBinaryEncoder(binaryReader, null); Action action = () => subject.WriteMessage(__testMessage); action.ShouldThrow<InvalidOperationException>(); } }