コード例 #1
0
        public Guid AddEnvelope <TMessage>(ReadableCourierEndpoint endpoint, TMessage message, MessagePriority priority)
        {
            var id      = guidProxy.NewGuid();
            var context = outboundEnvelopeContextFactory.Create(id, endpoint, message, priority);

            activeEnvelopeContextsById.Add(id, context);
            return(id);
        }
        public void AddEnvelopeCreatesAndStoresEnvelopeContextTest()
        {
            var endpoint = CreateMock <ReadableCourierEndpoint>();
            var message  = CreateMock <DummyMessage>();
            var outboundEnvelopeContext = CreateMock <OutboundEnvelopeContext <DummyMessage> >();

            When(guidProxy.NewGuid()).ThenReturn(kMessageId);
            When(outboundEnvelopeContextFactory.Create(kMessageId, endpoint, message, kMessagePriority)).ThenReturn(outboundEnvelopeContext);

            testObj.AddEnvelope(endpoint, message, kMessagePriority);

            Verify(guidProxy).NewGuid();
            Verify(outboundEnvelopeContextFactory).Create(kMessageId, endpoint, message, kMessagePriority);
            Verify(activeEnvelopeContextsById).Add(kMessageId, outboundEnvelopeContext);
            VerifyNoMoreInteractions();
        }