コード例 #1
0
        public async void GivenTwoHandlersForOneEvent_WhenPublishMethodIsBeingCalled_ThenTwoHandlersAreBeingCalled()
        {
            //Given
            var @event = new TaskWasAdded("cleaning");

            //When
            await mediator.Publish(@event);

            //Then
            _taskList.Tasks.Count.Should().Be.EqualTo(2);
            _taskList.Tasks.Should().Have.SameValuesAs("cleaning", "cleaning");
        }
コード例 #2
0
        public async void GivenRegisteredAsynchronousRequestHandler_WhenPublishMethodIsBeingCalled_ThenReturnsProperResult()
        {
            //Given
            var @event = new TaskWasAdded("cleaning");

            //When
            await mediator.Publish(@event);

            //Then
            _tasksList.Tasks.Should().Have.Count.EqualTo(1);
            _tasksList.Tasks.Should().Have.SameValuesAs("cleaning");
        }
コード例 #3
0
        public async void GivenNonRegisteredQueryHandler_WhenPublishMethodIsBeingCalled_ThenThrowsAnError()
        {
            var ex = await Record.ExceptionAsync(async() =>
            {
                //Given
                var serviceLocator = new ServiceLocator();
                var mediator       = new Mediator(type => serviceLocator.Get(type).FirstOrDefault());

                var @event = new TaskWasAdded("cleaning");

                //When
                await mediator.Publish(@event);
            });

            //Then
            ex.Should().Not.Be.Null();
        }