public void ShouldNotAcknowledgeMessagesIfInvalid() { _source = new MessageSource <ITestMessage>(_lazyConnection, new[] { _deserializer }, _destination, AcknowledgementMode.ClientAcknowledge); var consumer = A.Fake <IMessageConsumer>(); A.CallTo(() => _session.CreateConsumer(_destination, null, false)).Returns(consumer); IBytesMessage bytesMessage = A.Fake <IBytesMessage>(); A.CallTo(() => _deserializer.Deserialize(A <Stream> .Ignored)).Throws <Exception>(); _source.Messages.Subscribe(_observer); consumer.Listener += Raise.FreeForm.With((Apache.NMS.IMessage)bytesMessage); A.CallTo(() => bytesMessage.Acknowledge()).MustNotHaveHappened(); }