public void TestGetBodyLengthUsingPopulatedMessageToSend() { byte[] bytes = Encoding.UTF8.GetBytes("myBytes"); AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateNewBytesMessageFacade(); BinaryWriter binaryWriter = amqpNmsBytesMessageFacade.GetDataWriter(); binaryWriter.Write(bytes); amqpNmsBytesMessageFacade.Reset(); Assert.AreEqual(bytes.Length, amqpNmsBytesMessageFacade.BodyLength); }
public void TestHasBodyWithActiveOutputStream() { AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateNewBytesMessageFacade(); Assert.False(amqpNmsBytesMessageFacade.HasBody()); BinaryWriter binaryWriter = amqpNmsBytesMessageFacade.GetDataWriter(); Assert.False(amqpNmsBytesMessageFacade.HasBody()); binaryWriter.Write(1); // Body exists after some data written. Assert.True(amqpNmsBytesMessageFacade.HasBody()); amqpNmsBytesMessageFacade.Reset(); Assert.True(amqpNmsBytesMessageFacade.HasBody()); }
public void TestGetMethodsWithAmqpValueContainingNonNullNonBinaryValueThrowsISE() { byte[] orig = Encoding.UTF8.GetBytes("myOrigBytes"); byte[] replacement = Encoding.UTF8.GetBytes("myReplacementBytes"); global::Amqp.Message message = new global::Amqp.Message { BodySection = new Data() { Binary = orig } }; AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateReceivedBytesMessageFacade(message); BinaryWriter binaryWriter = amqpNmsBytesMessageFacade.GetDataWriter(); binaryWriter.Write(replacement); amqpNmsBytesMessageFacade.Reset(); // Retrieve the new Binary from the underlying message, check they match // (the backing arrays may be different length so not checking arrayEquals) Data body = (Data)amqpNmsBytesMessageFacade.Message.BodySection; Assert.AreEqual(replacement, body.Binary, "Underlying message data section did not contain the expected bytes"); Assert.AreEqual(replacement.Length, amqpNmsBytesMessageFacade.BodyLength, "expected body length to match replacement bytes"); // retrieve the new bytes via an InputStream, check they match expected byte[] receivedBytes = new byte[replacement.Length]; BinaryReader binaryReader = amqpNmsBytesMessageFacade.GetDataReader(); binaryReader.Read(receivedBytes, 0, replacement.Length); CollectionAssert.AreEqual(replacement, receivedBytes, "Retrieved bytes from input steam did not match expected bytes"); // verify no more bytes remain, i.e EOS Assert.AreEqual(0, binaryReader.Read(new byte[1], 0, 1)); }