public void TestReadSequenceFiles(string year, string[] testVariables)
{
//Grab our 'Wyoming' manager object
var man = GetManager(year);
Assert.IsTrue(man.CheckColumnMappingsFile(), "Couldn't get required file");
Assert.IsTrue(man.CheckBlockGroupFile(), "Couldn't get required file");
using (var conn = man.DbClient.GetConnection())
{
if (!man.CreateColumnMappingsTable(conn))
{
Assert.Fail("Could not import sequence files");
}
string sqlTemplate = @"SELECT columnMappings.CENSUS_TABLE_ID,
columnMappings.COLNO,
columnMappings.SEQNO
FROM columnMappings
WHERE columnMappings.CENSUS_TABLE_ID = '{0}';";
foreach (string testRow in testVariables)
{
string[] chunks = testRow.Split(',');
int expectedColNo = Utilities.GetAs(chunks[2], -1);
int expectedSeqNo = Utilities.GetAs(chunks[3], -1);
string sql = string.Format(sqlTemplate, chunks[0]);
DataTable dt = DataClient.GetMagicTable(conn, man.DbClient, sql);
Assert.IsNotNull(dt, "DataTable was null!");
Assert.IsTrue(dt.Rows.Count > 0, "DataTable was empty!");
int colNo = Utilities.GetAs(dt.Rows[0]["COLNO"], -1);
int seqNo = Utilities.GetAs(dt.Rows[0]["SEQNO"], -1);
_log.DebugFormat("Column, Sequence for {0} is {1}, {2}", chunks[0], colNo, seqNo);
Assert.AreEqual(expectedColNo, colNo, "COLUMN NUMBER MISMATCH for variable " + chunks[0]);
Assert.AreEqual(expectedSeqNo, seqNo, "COLUMN NUMBER MISMATCH for variable " + chunks[0]);
}
}
}