public void Should_be_able_to_send_and_receive_messages_by_interface_type_and_destination_name()
        {
            messaging.CreateDestination <IMsg>("Test_Destination", Expires.Never);
            messaging.SendMessage(testMessage);

            var finalObject = (IMetadataFile)messaging.GetMessage <IMsg>("Test_Destination");

            Assert.That(finalObject, Is.Not.Null);
            Assert.That(finalObject.CorrelationId, Is.EqualTo(testMessage.CorrelationId));
            Assert.That(finalObject.Contents, Is.EqualTo(testMessage.Contents));
            Assert.That(finalObject.FilePath, Is.EqualTo(testMessage.FilePath));
            Assert.That(finalObject.HashValue, Is.EqualTo(testMessage.HashValue));
            Assert.That(finalObject.MetadataName, Is.EqualTo(testMessage.MetadataName));
            Assert.That(finalObject.Equals(testMessage), Is.False);
        }
        public void When_there_is_no_message_should_return_null()
        {
            messageRouter.GetAndFinish("MyServiceDestination", out _).Returns((string)null);
            var result = messaging.GetMessage <IMetadataFile>("MyServiceDestination");

            Assert.That(result, Is.Null);
        }
        public void When_setting_up_a_named_destination()
        {
            typeRouter = Substitute.For<ITypeRouter>();
            messageRouter = Substitute.For<IMessageRouter>();
            serialiser = Substitute.For<IMessageSerialiser>();

            messaging = new MessagingBase(typeRouter, messageRouter, serialiser);
            messaging.ResetCaches();
            messaging.GetMessage<IMetadataFile>("MyServiceDestination");
        }
        public void When_setting_up_a_named_destination()
        {
            typeRouter    = Substitute.For <ITypeRouter>();
            messageRouter = Substitute.For <IMessageRouter>();
            serialiser    = Substitute.For <IMessageSerialiser>();

            messaging = new MessagingBase(typeRouter, messageRouter, serialiser, "test-group");
            messaging.ResetCaches();
            messaging.GetMessage <IMetadataFile>("MyServiceDestination");
        }