예제 #1
0
        public void Parse_files(string sourceFile, string targetFile, bool hasError)
        {
            Processors.DbScriptFakeExecutor executor    = new Processors.DbScriptFakeExecutor();
            DbScriptsInterpreter            interpreter = new DbScriptsInterpreter(executor, new Bau.Libraries.LibLogger.Core.LogManager());
            ProgramResultModelCollection    results     = LoadResults(targetFile);
            bool executed;

            // Ejecuta el archivo
            executed = interpreter.Execute(LoadFile(sourceFile), null);
            // Comprueba si ha habido algún error
            Assert.Equal(hasError, !executed);
            // Comprueba los resultados
            if (executed)
            {
                CheckResults(executor.Results, results);
            }
        }
예제 #2
0
        /// <summary>
        ///		Compara los resultados de ejecución con los datos del archivo de resultados
        /// </summary>
        private void CheckResults(ProgramResultModelCollection executorResults, ProgramResultModelCollection fileResults)
        {
            // Compara el número de resultados
            Assert.Equal(executorResults.Count, fileResults.Count);
            // Compara cada uno de los elementos
            for (int index = 0; index < executorResults.Count; index++)
            {
                switch (executorResults[index])
                {
                case ResultSqlCommandModel command:
                    CheckSqlCommand(command, fileResults[index] as ResultSqlCommandModel);
                    break;

                case ResultMessageModel command:
                    CheckMessageCommand(command, fileResults[index] as ResultMessageModel);
                    break;
                }
            }
        }