CQRS.Tests.CQRS.EventSourcing.EventRefactoring.Migrations.EventStreamMutatorTestsBase.RunMigrationTest C# (CSharp) Method

RunMigrationTest() protected method

protected RunMigrationTest ( ) : void
return void
        protected void RunMigrationTest(params MigrationScenario[] scenarios)
        {
            Console.WriteLine($"###############$$$$$$$Running {scenarios.Length} scenario(s) with EventStoreType: {EventStoreType}");


            IList<IEventMigration> migrations = new List<IEventMigration>();
            using(var container = CreateContainerForEventStoreType(() => migrations.ToArray(), EventStoreType))
            {
                var timeSource = container.Resolve<DummyTimeSource>();
                timeSource.UtcNow = DateTime.Parse("2001-01-01 01:01:01.01");
                int scenarioIndex = 1;
                foreach(var migrationScenario in scenarios)
                {
                    timeSource.UtcNow += 1.Hours(); //No time collision between scenarios please.
                    migrations = migrationScenario.Migrations.ToList();
                    RunScenarioWithEventStoreType(migrationScenario, EventStoreType, container, migrations, scenarioIndex++);
                }
            }
        }