예제 #1
0
        private static void LogDebugInfo <TAggregate>(AggregateScenario <TAggregate> sc) where TAggregate : Aggregate
        {
            var logger = sc.Log;

            foreach (var cmd in sc.GivenCommands)
            {
                sc.Log.Information("Command: {@cmd}", cmd);
            }

            logger.Information("Given events:\r\n{@events}", sc.GivenEvents);
            logger.Information("Produced events:\r\n{@events}", sc.ProducedEvents);
            logger.Information("Expected events:\r\n{@events}", sc.ExpectedEvents);
        }
예제 #2
0
 public static AggregateScenario <TAggregate> Check <TAggregate>(this AggregateScenario <TAggregate> scenario) where TAggregate : Aggregate
 {
     LogDebugInfo(scenario);
     EventsExtensions.CompareEvents(scenario.ExpectedEvents, scenario.ProducedEvents);
     return(scenario);
 }