assertEquals("[some number, some mixed formula, some int only formula]",
Arrays.toString(table.getColumnNames()));
Query q = dc.query().from(table).select(columns).toQuery();
DataSet ds = dc.executeQuery(q);
Object value;
assertTrue(ds.next());
assertEquals("1", ds.getRow().getValue(columns[0]));
value = ds.getRow().getValue(columns[1]);
assertEquals(String.class, value.getClass());
assertEquals("1", value);
value = ds.getRow().getValue(columns[2]);
assertEquals(String.class, value.getClass());
assertEquals("1", value);
assertTrue(ds.next());
assertEquals("2", ds.getRow().getValue(columns[0]));
value = ds.getRow().getValue(columns[1]);
assertEquals(String.class, value.getClass());
assertEquals("3", value);
value = ds.getRow().getValue(columns[2]);
assertEquals(String.class, value.getClass());
assertEquals("3", value);
assertTrue(ds.next());
assertEquals("3", ds.getRow().getValue(columns[0]));
value = ds.getRow().getValue(columns[1]);
assertEquals(String.class, value.getClass());
assertEquals("8", value);
value = ds.getRow().getValue(columns[2]);
assertEquals(String.class, value.getClass());
assertEquals("8", value);
assertTrue(ds.next());
assertEquals("4", ds.getRow().getValue(columns[0]));
value = ds.getRow().getValue(columns[1]);
assertEquals(String.class, value.getClass());
assertEquals("12", value);
value = ds.getRow().getValue(columns[2]);
assertEquals(String.class, value.getClass());
assertEquals("12", value);
assertTrue(ds.next());
assertEquals("5", ds.getRow().getValue(columns[0]));
value = ds.getRow().getValue(columns[1]);
assertEquals(String.class, value.getClass());
assertEquals("yes", value);
value = ds.getRow().getValue(columns[2]);
assertEquals(String.class, value.getClass());
assertEquals("5", value);
assertTrue(ds.next());
assertEquals("6", ds.getRow().getValue(columns[0]));
value = ds.getRow().getValue(columns[1]);
assertEquals(String.class, value.getClass());
assertEquals("no", value);
value = ds.getRow().getValue(columns[2]);
assertEquals(String.class, value.getClass());
assertEquals("6", value);
assertFalse(ds.next());
}