public void SetUp()
        {
            Migration1.Reset();
            Migration2.Reset();

            this.connection = new Mock <DbConnection>()
            {
                DefaultValue = DefaultValue.Mock,
            };
            this.migrationProvider = new Mock <IMigrationProvider>();
            this.databaseProvider  = new Mock <MockDatabaseProvider>()
            {
                CallBase = true,
            };
            this.databaseProvider.Object.Connection = this.connection.Object;

            this.logger = new Mock <ILogger>();

            this.migrator = new SimpleMigrator <DbConnection, Migration>(this.migrationProvider.Object, this.databaseProvider.Object, this.logger.Object);

            this.migrations = new List <MigrationData>()
            {
                new MigrationData(1, "Migration 1", typeof(Migration1).GetTypeInfo()),
                new MigrationData(2, "Migration 2", typeof(Migration2).GetTypeInfo()),
            };
            this.migrationProvider.Setup(x => x.LoadMigrations()).Returns(this.migrations);
        }