package org.apache.jdbm;
import java.io.IOException;
import java.io.Serializable;
import java.util.Map;
public class Serialization2Test extends TestCaseWithTestFile {
public void test2() throws IOException {
DB db = newDBNoCache();
Serialization2Bean processView = new Serialization2Bean();
Map<Object, Object> map = db.createHashMap("test2");
map.put("abc", processView);
db.commit();
Serialization2Bean retProcessView = (Serialization2Bean)map.get("abc");
assertEquals(processView, retProcessView);
db.close();
}
public void test3() throws IOException {
String file = newTestFile();
Serialized2DerivedBean att = new Serialized2DerivedBean();
DB db = DBMaker.openFile(file).disableCache().make();
Map<Object, Object> map = db.createHashMap("test");
map.put("att", att);
db.commit();
db.close();
db = DBMaker.openFile(file).disableCache().make();
map = db.getHashMap("test");
Serialized2DerivedBean retAtt = (Serialized2DerivedBean) map.get("att");
assertEquals(att, retAtt);
}
static class AAA implements Serializable {
String test = "aa";
}
public void testReopenWithDefrag(){
String f = newTestFile();
DB db = DBMaker.openFile(f)
.disableTransactions()
.make();
Map<Integer,AAA> map = db.createTreeMap("test");
map.put(1,new AAA());
db.defrag(true);
db.close();
db = DBMaker.openFile(f)
.disableTransactions()
.make();
map = db.getTreeMap("test");
assertNotNull(map.get(1));
assertEquals(map.get(1).test, "aa");
db.close();
}
}