Ejemplo n.º 1
0
        public SimpleConsumer(ISimpleConsumerDependency dependency)
        {
            _dependency = dependency;
            Console.WriteLine("SimpleConsumer()");

            _received = new ManualResetEvent(false);

            _lastConsumer = this;
            _consumerCreated.Set();
        }
        public async Task Should_receive_using_the_first_consumer()
        {
            const string name = "Joe";

            await InputQueueSendEndpoint.Send(new SimpleMessageClass(name));

            SimpleConsumer lastConsumer = await SimpleConsumer.LastConsumer;

            lastConsumer.ShouldNotBe(null);

            SimpleMessageInterface last = await lastConsumer.Last;

            last.Name
            .ShouldBe(name);

            bool wasDisposed = await lastConsumer.Dependency.WasDisposed;

            wasDisposed
            .ShouldBe(true);     //Dependency was not disposed");

            lastConsumer.Dependency.SomethingDone
            .ShouldBe(true);     //Dependency was disposed before consumer executed");
        }
        public void Should_receive_using_the_first_consumer()
        {
            const string name = "Joe";

            var complete = new ManualResetEvent(false);

            LocalBus.SubscribeHandler <SimpleMessageClass>(x => complete.Set());
            LocalBus.Publish(new SimpleMessageClass(name));

            complete.WaitOne(8.Seconds());

            SimpleConsumer lastConsumer = SimpleConsumer.LastConsumer;

            lastConsumer.ShouldNotBeNull();

            lastConsumer.Last.Name
            .ShouldEqual(name);

            lastConsumer.Dependency.WasDisposed
            .ShouldBeTrue("Dependency was not disposed");
            lastConsumer.Dependency.SomethingDone
            .ShouldBeTrue("Dependency was disposed before consumer executed");
        }