CQRS.Tests.CQRS.EventSourcing.SqlServerEventStoreTests.DoesNotMixUpEventsFromDifferentStores C# (CSharp) Метод

DoesNotMixUpEventsFromDifferentStores() приватный Метод

private DoesNotMixUpEventsFromDifferentStores ( ) : void
Результат void
        public void DoesNotMixUpEventsFromDifferentStores()
        {
            //Two histories with the same in different event stores.
            var aggregateId = Guid.NewGuid();
            var aggregate1Events = 1.Through(3).Select(j => new SomeEvent(aggregateRootId: aggregateId, version: j)).ToList();
            var aggregate2Events = 1.Through(5).Select(j => new SomeEvent(aggregateRootId: aggregateId, version: j)).ToList();

            var store1Events = Seq.Empty<IAggregateRootEvent>();
            var store2Events = Seq.Empty<IAggregateRootEvent>();
            var store1NewStoreEvents = Seq.Empty<IAggregateRootEvent>();
            var store2NewStoreEvents = Seq.Empty<IAggregateRootEvent>();


            try
            {
                using (var store1 = CreateEventStore())
                using(var store2 = CreateEventStore2())
                {
                    store1.SaveEvents(aggregate1Events);
                    store2.SaveEvents(aggregate2Events);

                    store1Events = store1.GetAggregateHistory(aggregateId);
                    store2Events = store2.GetAggregateHistory(aggregateId);
                }                

                using(var store1 = CreateEventStore())
                using(var store2 = CreateEventStore2())
                {
                    store1NewStoreEvents = store1.GetAggregateHistory(aggregateId);
                    store2NewStoreEvents = store2.GetAggregateHistory(aggregateId);
                }

                store1Events.ShouldAllBeEquivalentTo(aggregate1Events, config  => config.WithStrictOrdering());
                store2Events.ShouldAllBeEquivalentTo(aggregate2Events, config => config.WithStrictOrdering());
                store1NewStoreEvents.ShouldAllBeEquivalentTo(aggregate1Events, config => config.WithStrictOrdering());
                store2NewStoreEvents.ShouldAllBeEquivalentTo(aggregate2Events, config => config.WithStrictOrdering());

            }
            catch(Exception)
            {
                Console.WriteLine("aggregate1 events");
                aggregate1Events.ForEach(e => Console.WriteLine($"   {e}"));

                Console.WriteLine("\n\naggregate2 events");
                aggregate2Events.ForEach(e => Console.WriteLine($"   {e}"));

                Console.WriteLine("\n\nloaded events from eventstore 1");
                store1Events.ForEach(e => Console.WriteLine($"   {e}"));

                Console.WriteLine("\n\nloaded events from eventstore 2");
                store2Events.ForEach(e => Console.WriteLine($"   {e}"));


                Console.WriteLine("\n\nloaded events from new eventstore 1");
                store1NewStoreEvents.ForEach(e => Console.WriteLine($"   {e}"));

                Console.WriteLine("\n\nloaded events from new eventstore 2");
                store2NewStoreEvents.ForEach(e => Console.WriteLine($"   {e}"));

                throw;
            }
        }
    }