private static bool ValidateDataSet <T>(string validationDatasetFileName, [InstantHandle] Func <ValidationDataSetInfo <T> > retrieveValidationDatasetInfo) where T : DataSet, new() { Console.WriteLine(); Console.WriteLine("Validating dataset: {0}. Please wait...", validationDatasetFileName); string pathToBaselineFile = CopyBaselineFile(validationDatasetFileName); ValidationDataSetInfo <T> validationDataSetInfo = retrieveValidationDatasetInfo(); if (validationDataSetInfo.DataSet.Tables[0].Rows.Count == 1) { Console.WriteLine("One row was retrieved."); } else { Console.WriteLine("{0} rows were retrieved.", validationDataSetInfo.DataSet.Tables[0].Rows.Count); } string pathToDumpFile = GetPathToDumpFile(validationDatasetFileName); using (StreamWriter dumpFile = new StreamWriter(pathToDumpFile)) { DumpResultsToFile(dumpFile, validationDatasetFileName, validationDataSetInfo); } return(CompareFiles(pathToDumpFile, pathToBaselineFile)); }
private static void DumpResultsHeaderToFile <T>(StreamWriter dumpFile, ValidationDataSetInfo <T> validationDataSetInfo) where T : DataSet, new() { dumpFile.WriteLine("SQL statement:\r\n{0}\r\n", validationDataSetInfo.SqlStatement); foreach (SqlParameter sqlParameter in validationDataSetInfo.SqlParameters) { dumpFile.WriteLine("Parameter {0}. Value: {1}.", sqlParameter.ParameterName, sqlParameter.Value); } dumpFile.WriteLine(); dumpFile.WriteLine("Columns:"); foreach (DataColumn column in validationDataSetInfo.DataSet.Tables[0].Columns) { if (IsColumnExlcudedFromBaseline(column.ColumnName) == false) { dumpFile.WriteLine(column.ColumnName); } } }
private static void DumpResultsToFile <T>(StreamWriter dumpFile, string validationDatasetFileName, ValidationDataSetInfo <T> validationDataSetInfo) where T : DataSet, new() { dumpFile.WriteLine("Validation dataset: {0}\r\n", validationDatasetFileName); DumpResultsHeaderToFile <T>(dumpFile, validationDataSetInfo); dumpFile.WriteLine(); DumpDataTableToFile(dumpFile, validationDataSetInfo.DataSet.Tables[0]); }