package org.apache.jdbm; import java.io.IOException; import java.util.List; import java.util.Map; import java.util.Set; public class RollbackTest extends TestCaseWithTestFile{ public void test_treemap() throws IOException { DB db = newDBCache(); Map<Integer, String> map = db.createTreeMap("collectionName"); map.put(1, "one"); map.put(2, "two"); assertEquals(2, map.size()); db.commit(); //persist changes into disk map.put(3, "three"); assertEquals(3, map.size()); db.rollback(); //revert recent changes assertEquals(2, map.size()); } public void test_hashmap() throws IOException { DB db = newDBCache(); Map<Integer, String> map = db.createHashMap("collectionName"); map.put(1, "one"); map.put(2, "two"); assertEquals(2, map.size()); db.commit(); //persist changes into disk map.put(3, "three"); assertEquals(3, map.size()); db.rollback(); //revert recent changes assertEquals(2, map.size()); } public void test_treeset() throws IOException { DB db = newDBCache(); Set<Integer> c = db.createTreeSet("collectionName"); c.add(1); c.add(2); assertEquals(2, c.size()); db.commit(); //persist changes into disk c.add(3); assertEquals(3, c.size()); db.rollback(); //revert recent changes assertEquals(2, c.size()); } public void test_hashset() throws IOException { DB db = newDBCache(); Set<Integer> c = db.createHashSet("collectionName"); c.add(1); c.add(2); assertEquals(2, c.size()); db.commit(); //persist changes into disk c.add(3); assertEquals(3, c.size()); db.rollback(); //revert recent changes assertEquals(2, c.size()); } public void test_linkedlist() throws IOException { DB db = newDBCache(); List<Integer> c = db.createLinkedList("collectionName"); c.add(1); c.add(2); assertEquals(2, c.size()); db.commit(); //persist changes into disk c.add(3); assertEquals(3, c.size()); db.rollback(); //revert recent changes assertEquals(2, c.size()); } }