public void TestCreation()
        {
            var fixture = new Fixture().Customize(new AutoNSubstituteCustomization());

            IGenerateReceivedMessage gen = fixture.Create <GenerateReceivedMessage>();
            var inputMessage             = fixture.Create <IMessage>();

            inputMessage.Body.Returns(new FakeMessage());
            fixture.Inject(inputMessage);
            IReceivedMessageInternal rec = fixture.Create <ReceivedMessageInternal>();

            var message = gen.GenerateMessage(typeof(FakeMessage), rec);

            IReceivedMessage <FakeMessage> translatedMessage = message;

            Assert.Equal(translatedMessage.Body, rec.Body);
            Assert.Equal(translatedMessage.CorrelationId, rec.CorrelationId);
            Assert.Equal(translatedMessage.Headers, rec.Headers);
            Assert.Equal(translatedMessage.MessageId, rec.MessageId);
        }
        public void GenerateMessage()
        {
            var fixture = new Fixture().Customize(new AutoNSubstituteCustomization());
            IGenerateReceivedMessage gen = fixture.Create <GenerateReceivedMessage>();
            var inputMessage             = fixture.Create <IMessage>();

            inputMessage.Body.Returns(new FakeMessage());
            fixture.Inject(gen);
            fixture.Inject(inputMessage);
            var test = fixture.Create <MessageHandlerRegistrationAsync>();

            Task Func(IReceivedMessage <FakeMessage> recMessage, IWorkerNotification worker) => null;

            test.Set((Func <IReceivedMessage <FakeMessage>, IWorkerNotification, Task>)Func);

            IReceivedMessageInternal rec = fixture.Create <ReceivedMessageInternal>();

            var message = test.GenerateMessage(rec);

            Assert.IsAssignableFrom <FakeMessage>(message.Body);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="MessageHandlerRegistration"/> class.
 /// </summary>
 /// <param name="generateMessage">The generate message.</param>
 public MessageHandlerRegistration(IGenerateReceivedMessage generateMessage)
 {
     Guard.NotNull(() => generateMessage, generateMessage);
     _generateMessage = generateMessage;
 }