1 21 package com.db4o.db4ounit.common.defragment; 22 23 import java.io.*; 24 25 import com.db4o.*; 26 import com.db4o.defragment.*; 27 import com.db4o.query.*; 28 29 import db4ounit.*; 30 31 public class SlotDefragmentTestCase implements TestLifeCycle { 32 33 public void testPrimitiveIndex() throws Exception { 34 SlotDefragmentFixture.assertIndex(SlotDefragmentFixture.PRIMITIVE_FIELDNAME); 35 } 36 37 public void testWrapperIndex() throws Exception { 38 SlotDefragmentFixture.assertIndex(SlotDefragmentFixture.WRAPPER_FIELDNAME); 39 } 40 41 public void testTypedObjectIndex() throws Exception { 42 SlotDefragmentFixture.forceIndex(); 43 Defragment.defrag(SlotDefragmentConstants.FILENAME,SlotDefragmentConstants.BACKUPFILENAME); 44 ObjectContainer db=Db4o.openFile(Db4o.newConfiguration(),SlotDefragmentConstants.FILENAME); 45 Query query=db.query(); 46 query.constrain(SlotDefragmentFixture.Data.class); 47 query.descend(SlotDefragmentFixture.TYPEDOBJECT_FIELDNAME).descend(SlotDefragmentFixture.PRIMITIVE_FIELDNAME).constrain(new Integer (SlotDefragmentFixture.VALUE)); 48 ObjectSet result=query.execute(); 49 Assert.areEqual(1,result.size()); 50 db.close(); 51 } 52 53 public void testNoForceDelete() throws Exception { 54 Defragment.defrag(SlotDefragmentConstants.FILENAME,SlotDefragmentConstants.BACKUPFILENAME); 55 Assert.expect(IOException.class, new CodeBlock() { 56 public void run() throws Exception { 57 Defragment.defrag(SlotDefragmentConstants.FILENAME,SlotDefragmentConstants.BACKUPFILENAME); 58 } 59 }); 60 } 61 62 public void setUp() throws Exception { 63 new File(SlotDefragmentConstants.FILENAME).delete(); 64 new File(SlotDefragmentConstants.BACKUPFILENAME).delete(); 65 SlotDefragmentFixture.createFile(SlotDefragmentConstants.FILENAME); 66 } 67 68 public void tearDown() throws Exception { 69 } 70 } 71 | Popular Tags |