@Test
public void testConfigure()
{
try {
Configuration config = new Configuration();
// check missing number of fields
boolean validConfig = true;
try {
format.configure(config);
} catch(IllegalArgumentException iae) {
validConfig = false;
} catch(IllegalStateException ise) {
validConfig = false;
}
assertFalse(validConfig);
// check missing file parser
config.setInteger(CsvOutputFormat.NUM_FIELDS_PARAMETER, 2);
validConfig = true;
try {
format.configure(config);
} catch(IllegalArgumentException iae) {
validConfig = false;
} catch(IllegalStateException ise) {
validConfig = false;
}
assertFalse(validConfig);
// check valid config
config.setClass(CsvOutputFormat.FIELD_TYPE_PARAMETER_PREFIX + 0, StringValue.class);
config.setClass(CsvOutputFormat.FIELD_TYPE_PARAMETER_PREFIX + 1, IntValue.class);
validConfig = true;
try {
format.configure(config);
} catch(IllegalArgumentException iae) {
validConfig = false;
}
assertTrue(validConfig);
// check invalid file parser config
config.setInteger(CsvOutputFormat.NUM_FIELDS_PARAMETER, 3);
validConfig = true;
try {
format.configure(config);
} catch(IllegalArgumentException iae) {
validConfig = false;
}
assertFalse(validConfig);
// check valid config
config.setClass(CsvOutputFormat.FIELD_TYPE_PARAMETER_PREFIX + 2, StringValue.class);
validConfig = true;
try {
format.configure(config);
} catch(IllegalArgumentException iae) {
validConfig = false;
}
assertTrue(validConfig);
// check valid config
config.setString(CsvOutputFormat.FIELD_DELIMITER_PARAMETER, "|");
validConfig = true;
try {
format.configure(config);
} catch(IllegalArgumentException iae) {
validConfig = false;
System.out.println(iae.getMessage());
}
assertTrue(validConfig);
// check invalid text pos config
config.setInteger(CsvOutputFormat.RECORD_POSITION_PARAMETER_PREFIX + 1, 0);
validConfig = true;
try {
format.configure(config);
} catch(IllegalArgumentException iae) {
validConfig = false;
}
assertFalse(validConfig);
// check valid text pos config
config.setInteger(CsvOutputFormat.RECORD_POSITION_PARAMETER_PREFIX + 0, 3);
config.setInteger(CsvOutputFormat.RECORD_POSITION_PARAMETER_PREFIX + 2, 9);
validConfig = true;
try {
format.configure(config);
} catch(IllegalArgumentException iae) {
validConfig = false;