@Test
public void testMultipleNoms() throws Exception {

  MapBackedARFFModel model = new MapBackedARFFModel();
  ARFFVectorIterable iterable = getVectors("non-numeric-1.arff", model);
  int count = 0;
  for (Vector vector : iterable) {
    assertTrue("Vector is not dense", vector instanceof RandomAccessSparseVector);
    count++;
  }
  assertEquals(10, count);
  Map<String,Map<String,Integer>> nominalMap = iterable.getModel().getNominalMap();
  assertNotNull(nominalMap);
  assertEquals(1, nominalMap.size());
  Map<String,Integer> noms = nominalMap.get("bar");
  assertNotNull("nominals for bar are null", noms);
  assertEquals(5, noms.size());
  Map<Integer,ARFFType> integerARFFTypeMap = model.getTypeMap();
  assertNotNull("Type map null", integerARFFTypeMap);
  assertEquals(5, integerARFFTypeMap.size());
  Map<String,Long> words = model.getWords();
  assertNotNull("words null", words);
  assertEquals(10, words.size());
  Map<Integer,DateFormat> integerDateFormatMap = model.getDateMap();
  assertNotNull("date format null", integerDateFormatMap);
  assertEquals(1, integerDateFormatMap.size());
  iterable = getVectors("non-numeric-2.arff", model);
  count = 0;
  for (Vector vector : iterable) {
    assertTrue("Vector is not dense", vector instanceof RandomAccessSparseVector);
    count++;
  }
  nominalMap = model.getNominalMap();
  assertNotNull(nominalMap);
  assertEquals(2, nominalMap.size());
  noms = nominalMap.get("test");
  assertNotNull("nominals for bar are null", noms);
  assertEquals(2, noms.size());
}