Azavea.NijPredictivePolicing.Test.ACSAlchemistLibrary.AcsDataManagerTests.TestReadSequenceFiles C# (CSharp) Method

TestReadSequenceFiles() public method

Ensure we're grabbing the correct columns given the requested variable name
public TestReadSequenceFiles ( string year, string testVariables ) : void
year string
testVariables string
return void
        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]);
                }
            }
        }