assertTrue("has first field def", fieldDefIt.hasNext());
FieldDef fieldDef = fieldDefIt.next();
assertEquals("first fieldDef.alias", "roleTypeId", fieldDef.getAlias());
assertTrue("first is FieldDefFieldValue", fieldDef instanceof FieldDefFieldValue);
FieldDefFieldValue fdfv = (FieldDefFieldValue) fieldDef;
assertEquals("first fieldDef.tableName", "d", fdfv.getFieldValue().getTableName());
assertEquals("first fieldDef.fieldName", "roleTypeId", fdfv.getFieldValue().getFieldName());
assertEquals("first fieldDef.defaultName", "roleTypeId", fdfv.getFieldValue().getDefaultName());
assertTrue("has second field def", fieldDefIt.hasNext());
fieldDef = fieldDefIt.next();
assertEquals("second fieldDef.alias", "roleDescription", fieldDef.getAlias());
assertTrue("second is FieldDefFieldValue", fieldDef instanceof FieldDefFieldValue);
fdfv = (FieldDefFieldValue) fieldDef;
assertEquals("second fieldDef.tableName", "d", fdfv.getFieldValue().getTableName());
assertEquals("second fieldDef.fieldName", "description", fdfv.getFieldValue().getFieldName());
assertEquals("second fieldDef.defaultName", "description", fdfv.getFieldValue().getDefaultName());
assertTrue("has third field def", fieldDefIt.hasNext());
fieldDef = fieldDefIt.next();
assertEquals("third fieldDef.alias", "SUM", fieldDef.getAlias());
assertTrue("third is FieldDefValue", fieldDef instanceof FieldDefValue);