@Test
public final void testGetColumnMapping() {
Hashtable<Short, String> PKNames = new Hashtable<Short, String>();
PKNames.put(Short.valueOf((short) 1), "\"val1\"");
IncrementalWriter writer = null;
MappingData columnMapping = null;
try {
writer = new IncrementalWriter(replicaConn, "public", "rep_foo", 4,
PKNames);
columnMapping = writer.getColumnMapping();
assertEquals(4, columnMapping.getColumnCount());
assertEquals(Types.INTEGER, columnMapping.getColumnType(0));
assertEquals(Types.INTEGER, columnMapping.getColumnType(1));
assertEquals(Types.VARCHAR, columnMapping.getColumnType(2));
assertEquals(Types.TIMESTAMP, columnMapping.getColumnType(3));
assertEquals("int4", columnMapping.getColumnTypeName(0));
assertEquals("int4", columnMapping.getColumnTypeName(1));
assertEquals("text", columnMapping.getColumnTypeName(2));
assertEquals("timestamp", columnMapping.getColumnTypeName(3));
assertNotNull(columnMapping.getDataMappers());
assertEquals(4, columnMapping.getDataMappers().length);
assertNull(columnMapping.getDataMapper(0));
writer.close();
} catch (Exception e) {
fail("exception thrown");
}
try {
columnMapping.getColumnType(4);
fail("no exception");
} catch (SyncDatabaseException e) {
assertEquals("argument error", e.getMessage());
}
try {
columnMapping.getColumnTypeName(4);
fail("no exception");
} catch (SyncDatabaseException e) {
assertEquals("argument error", e.getMessage());
}
try {
columnMapping.getDataMapper(4);
fail("no exception");
} catch (SyncDatabaseException e) {
assertEquals("argument error", e.getMessage());
}
}