aboutsummaryrefslogtreecommitdiffstats
path: root/test/src/java
diff options
context:
space:
mode:
authorJames Ahlborn <jtahlborn@yahoo.com>2007-11-16 19:57:37 +0000
committerJames Ahlborn <jtahlborn@yahoo.com>2007-11-16 19:57:37 +0000
commit9ba0e78522e68b40c75b0cb86fe74815146ce20d (patch)
tree82eee57e2e34795ddadd1a804b5f9019bba6065f /test/src/java
parent26f63555d13618ddd4fb1923efe1683f7c5a41a6 (diff)
downloadjackcess-9ba0e78522e68b40c75b0cb86fe74815146ce20d.tar.gz
jackcess-9ba0e78522e68b40c75b0cb86fe74815146ce20d.zip
Add experimental support for auto-number columns, feature request
#1565216. git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/trunk@173 f203690c-595d-4dc9-a70b-905162fa7fd2
Diffstat (limited to 'test/src/java')
-rw-r--r--test/src/java/com/healthmarketscience/jackcess/DatabaseTest.java75
1 files changed, 75 insertions, 0 deletions
diff --git a/test/src/java/com/healthmarketscience/jackcess/DatabaseTest.java b/test/src/java/com/healthmarketscience/jackcess/DatabaseTest.java
index c46ee00..80c65cb 100644
--- a/test/src/java/com/healthmarketscience/jackcess/DatabaseTest.java
+++ b/test/src/java/com/healthmarketscience/jackcess/DatabaseTest.java
@@ -699,6 +699,57 @@ public class DatabaseTest extends TestCase {
db.close();
}
+
+ public void testAutoNumber() throws Exception {
+ Database db = create();
+
+ List<Column> columns = new ArrayList<Column>();
+ Column col = new Column();
+ col.setName("a");
+ col.setType(DataType.LONG);
+ col.setAutoNumber(true);
+ columns.add(col);
+ col = new Column();
+ col.setName("b");
+ col.setType(DataType.TEXT);
+ columns.add(col);
+
+ db.createTable("test", columns);
+
+ Table table = db.getTable("test");
+ table.addRow(null, "row1");
+ table.addRow(13, "row2");
+ table.addRow("flubber", "row3");
+
+ table.reset();
+
+ table.addRow(Column.AUTO_NUMBER, "row4");
+ table.addRow(Column.AUTO_NUMBER, "row5");
+
+ table.reset();
+
+ List<Map<String, Object>> expectedRows =
+ createExpectedTable(
+ createExpectedRow(
+ "a", 1,
+ "b", "row1"),
+ createExpectedRow(
+ "a", 2,
+ "b", "row2"),
+ createExpectedRow(
+ "a", 3,
+ "b", "row3"),
+ createExpectedRow(
+ "a", 4,
+ "b", "row4"),
+ createExpectedRow(
+ "a", 5,
+ "b", "row5"));
+
+ assertTable(expectedRows, table);
+
+ db.close();
+ }
static Object[] createTestRow(String col1Val) {
return new Object[] {col1Val, "R", "McCune", 1234, (byte) 0xad, 555.66d,
@@ -767,6 +818,30 @@ public class DatabaseTest extends TestCase {
return rtn;
}
+ static void assertTable(List<Map<String, Object>> expectedTable, Table table)
+ {
+ List<Map<String, Object>> foundTable =
+ new ArrayList<Map<String, Object>>();
+ for(Map<String, Object> row : table) {
+ foundTable.add(row);
+ }
+ assertEquals(expectedTable, foundTable);
+ }
+
+ static Map<String, Object> createExpectedRow(Object... rowElements) {
+ Map<String, Object> row = new HashMap<String, Object>();
+ for(int i = 0; i < rowElements.length; i += 2) {
+ row.put((String)rowElements[i],
+ rowElements[i + 1]);
+ }
+ return row;
+ }
+
+ @SuppressWarnings("unchecked")
+ static List<Map<String, Object>> createExpectedTable(Map... rows) {
+ return Arrays.<Map<String, Object>>asList(rows);
+ }
+
static void dumpDatabase(Database mdb) throws Exception {
dumpDatabase(mdb, new PrintWriter(System.out, true));
}