public void Dispatch_method_executes_command_and_dispatches_to_interceptors_which_can_change_result() { var interceptionContext = new DbInterceptionContext(); var mockCommand = new Mock <DbCommand>(); mockCommand.Setup(m => m.ExecuteNonQuery()).Returns(11); var mockInterceptor = new Mock <IDbCommandInterceptor>(); mockInterceptor.Setup(m => m.NonQueryExecuted(mockCommand.Object, 11, interceptionContext)).Returns(13); var dispatcher = new DbCommandDispatcher(); var internalDispatcher = dispatcher.InternalDispatcher; internalDispatcher.Add(mockInterceptor.Object); Assert.Equal(13, dispatcher.NonQuery(mockCommand.Object, interceptionContext)); mockCommand.Verify(m => m.ExecuteNonQuery()); mockInterceptor.Verify(m => m.NonQueryExecuting(mockCommand.Object, interceptionContext)); mockInterceptor.Verify(m => m.NonQueryExecuted(mockCommand.Object, 11, interceptionContext)); }