javaextensions/midprms_db/tsrc/javasrc/com/nokia/mj/test/rms/TestRecordEnumeration.java
--- a/javaextensions/midprms_db/tsrc/javasrc/com/nokia/mj/test/rms/TestRecordEnumeration.java Thu Sep 02 20:20:40 2010 +0300
+++ b/javaextensions/midprms_db/tsrc/javasrc/com/nokia/mj/test/rms/TestRecordEnumeration.java Fri Sep 17 08:28:21 2010 +0300
@@ -139,6 +139,14 @@
}
}));
+ aSuite.addTest(new TestRecordEnumeration("testEnumerationOrder", new TestMethod()
+ {
+ public void run(TestCase tc)
+ {
+ ((TestRecordEnumeration) tc).testEnumerationOrder();
+ }
+ }));
+
return aSuite;
}
@@ -1147,5 +1155,56 @@
}
}
+ public void testEnumerationOrder()
+ {
+ // This test checks that record enumeration returns records in FIFO order
+ // if null RecordComparator is provided
+ // MIDP spec says that order is undefined in this case but many acceptance tests
+ // assume this order
+ System.out.println("TestRecordEnumeration.testEnumerationOrder()");
+ RecordStore store = null;
+ String rec_store_name = "testEnumerationOrder";
+
+ try
+ {
+ // 0: Init
+ System.out.println("0: Init");
+ try
+ {
+ RecordStore.deleteRecordStore(rec_store_name);
+ }
+ catch (Exception e) {}
+ store = RecordStore.openRecordStore(rec_store_name, true);
+ populateRecordStore(store);
+
+ // 1: check order
+ System.out.println("1: check order");
+ RecordEnumeration enumeration = store.enumerateRecords(null, null, false);
+ for(int i = 0; enumeration.hasNextElement(); i++)
+ {
+ byte[] r = enumeration.nextRecord();
+ assertEquals(r, iData[i].getBytes());
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ fail("Unexpected exception " + e);
+ }
+ finally
+ {
+ try
+ {
+ store.closeRecordStore();
+ }
+ catch (Exception e) {}
+ try
+ {
+ RecordStore.deleteRecordStore(rec_store_name);
+ }
+ catch (Exception e) {}
+ }
+ }
+
}