}
}
@Test
public final void testGetColumnMapping() {
MappingData columnMapping = null;
try {
FullReader reader = new FullReader(masterConn,
"SELECT * FROM public.foo");
columnMapping = reader.getColumnMapping();
assertEquals(3, columnMapping.getColumnCount());
assertEquals(Types.INTEGER, columnMapping.getColumnType(0));
assertEquals(Types.VARCHAR, columnMapping.getColumnType(1));
assertEquals(Types.TIMESTAMP, columnMapping.getColumnType(2));
assertEquals("int4", columnMapping.getColumnTypeName(0));
assertEquals("text", columnMapping.getColumnTypeName(1));
assertEquals("timestamp", columnMapping.getColumnTypeName(2));
assertNotNull(columnMapping.getDataMappers());
assertEquals(3, columnMapping.getDataMappers().length);
assertNull(columnMapping.getDataMapper(0));
reader.close();
} catch (Exception e) {
e.printStackTrace();
fail("exception thrown");
}
try {
columnMapping.getColumnType(3);
fail("no exception");
} catch (SyncDatabaseException e) {
assertEquals("argument error", e.getMessage());
}
try {
columnMapping.getColumnTypeName(3);
fail("no exception");
} catch (SyncDatabaseException e) {
assertEquals("argument error", e.getMessage());
}
try {
columnMapping.getDataMapper(3);
fail("no exception");
} catch (SyncDatabaseException e) {
assertEquals("argument error", e.getMessage());
}
}