コード例 #1
0
            public void ShouldThrowInvalidOperationExceptionWhenQueryHandlerIsNotRegistered()
            {
                const string expectedResult  = "expectedResult";
                const string expectedResult2 = "expectedResult2";
                var          mockHandler     = new TestQueryHandler1 <TestQuery1, string>(expectedResult);
                ICollection <ICommandHandler> commandHandlers =
                    Enumerable.Repeat <ICommandHandler>(new TestCommandHandler1 <TestCommand1>(), 1).ToList();
                ICollection <IQueryHandler> queryHandlers = new List <IQueryHandler>
                {
                    mockHandler,
                };
                var query = new TestQuery2();

                var    dispatcher = new CommandAndQueryDispatcher(commandHandlers, queryHandlers);
                string queryResult;
                Action action = () => queryResult = dispatcher.ExecuteQuery(query);

                action.ShouldThrow <InvalidOperationException>();
            }
コード例 #2
0
            public void ShouldUseRegisteredQueryHandlerToExecuteQueryWhenMultiple()
            {
                const string expectedResult  = "expectedResult";
                const string expectedResult2 = "expectedResult2";
                var          mockHandler     = new TestQueryHandler1 <TestQuery1, string>(expectedResult);
                var          mockHandler2    = new TestQueryHandler2 <TestQuery2, string>(expectedResult2);
                ICollection <ICommandHandler> commandHandlers =
                    Enumerable.Repeat <ICommandHandler>(new TestCommandHandler1 <TestCommand1>(), 1).ToList();
                ICollection <IQueryHandler> queryHandlers = new List <IQueryHandler>
                {
                    mockHandler,
                    mockHandler2
                };
                var query = new TestQuery2();

                var    dispatcher  = new CommandAndQueryDispatcher(commandHandlers, queryHandlers);
                string queryResult = dispatcher.ExecuteQuery(query);

                mockHandler2.QueryExecuted.Should().Be(query);
                queryResult.Should().Be(expectedResult2);
                mockHandler.QueryExecuted.Should().BeNull();
            }