private static void AssertMissingColumns(ClassMapping mapping, string fieldName, object uninitVal)
{
FastDAO<CsvTestObj> dao = new FastDAO<CsvTestObj>(
new CsvDescriptor(CsvConnectionType.Directory, "..\\..\\Tests\\"), mapping);
DictionaryDao dictDao = new DictionaryDao(
new CsvDescriptor(CsvConnectionType.Directory, "..\\..\\Tests\\"), mapping);
IList<CsvTestObj> objs = dao.Get();
IList<CheckedDictionary<string, object>> dicts = dictDao.Get();
Assert.AreEqual(12, objs.Count, "Wrong number of real objects.");
Assert.AreEqual(12, dicts.Count, "Wrong number of dictionaries.");
for (int x = 0; x < objs.Count; x++)
{
object val;
switch (fieldName)
{
case "One":
val = objs[x].One;
break;
case "Two":
val = objs[x].Two;
break;
case "Three":
val = objs[x].Three;
break;
case "Four":
val = objs[x].Four;
break;
case "Five":
val = objs[x].Five;
break;
default:
throw new ArgumentException("Field " + fieldName + " isn't handled yet.", "fieldName");
}
Assert.AreEqual(uninitVal, val, "Field '" + fieldName + "' should be uninitialized because it is unmapped, but isn't.");
Assert.IsFalse(dicts[x].ContainsKey(fieldName), "Field '" + fieldName + "' should not be in the dictionary because it is unmapped.");
}
}