public ExecuteDDDScriptsVirtuallyStep(DBCommandsFactory dbCommandsFactory,
                                              ExecuteScriptsByTypeStepFactory executeScriptsByTypeStepFactory,
                                              ArtifactExtractorFactory artifactExtractorFactory)
        {
            dbCommandsFactory.ThrowIfNull(nameof(dbCommandsFactory));
            executeScriptsByTypeStepFactory.ThrowIfNull(nameof(executeScriptsByTypeStepFactory));
            artifactExtractorFactory.ThrowIfNull(nameof(artifactExtractorFactory));

            _dbCommandsFactory = dbCommandsFactory;
            _executeScriptsByTypeStepFactory = executeScriptsByTypeStepFactory;
        }
        public ScriptFilesState(DBCommandsFactory dbCommandsFactory,
                                ScriptFilesComparerFactory scriptFilesComparerFactory,
                                ArtifactExtractorFactory artifactExtractorFactory)
        {
            dbCommandsFactory.ThrowIfNull(nameof(dbCommandsFactory));
            scriptFilesComparerFactory.ThrowIfNull(nameof(scriptFilesComparerFactory));
            artifactExtractorFactory.ThrowIfNull(nameof(artifactExtractorFactory));

            _dbCommandsFactory          = dbCommandsFactory;
            _scriptFilesComparerFactory = scriptFilesComparerFactory;
            _artifactExtractorFactory   = artifactExtractorFactory;

            ScriptFilesComparers = new Dictionary <string, ScriptFilesComparerBase>();
        }