protected override void Arrange()
        {
            ScriptPathInfoProvider       = A.Fake <IScriptPathInfoProvider>();
            EdFiLegacyDatabaseRepository = A.Fake <IEdFiLegacyDatabaseRepository>();
            UpgradeEngineWrapper         = A.Fake <IUpgradeEngineWrapper>();
            UpgradeEngineFactory         = A.Fake <ISqlServerUpgradeEngineFactory>();

            A.CallTo(() => UpgradeEngineFactory.Create(A <UpgradeEngineConfig> ._, A <SqlScript[]> ._))
            .Returns(UpgradeEngineWrapper);

            System = new SqlServerUpdateLegacyDatabaseCommand(
                ScriptPathInfoProvider, EdFiLegacyDatabaseRepository, UpgradeEngineFactory);
        }
 public SqlServerUpdateLegacyDatabaseCommand(IScriptPathInfoProvider scriptPathInfoProvider,
                                             IEdFiLegacyDatabaseRepository legacyDatabaseRepository, ISqlServerUpgradeEngineFactory upgradeEngineFactory)
 {
     _scriptPathInfoProvider   = Preconditions.ThrowIfNull(scriptPathInfoProvider, nameof(scriptPathInfoProvider));
     _legacyDatabaseRepository = Preconditions.ThrowIfNull(legacyDatabaseRepository, nameof(legacyDatabaseRepository));
     _upgradeEngineFactory     = Preconditions.ThrowIfNull(upgradeEngineFactory, nameof(upgradeEngineFactory));
 }