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++);
}
}
}