1 21 package com.db4o.db4ounit.common.header; 22 23 import com.db4o.YapFile; 24 import com.db4o.config.*; 25 26 import db4ounit.Assert; 27 import db4ounit.extensions.AbstractDb4oTestCase; 28 import db4ounit.extensions.fixtures.OptOutCS; 29 30 public class SimpleTimeStampIdTestCase extends AbstractDb4oTestCase implements 31 OptOutCS { 32 33 public static void main(String [] arguments) { 34 new SimpleTimeStampIdTestCase().runSolo(); 35 } 36 37 public static class STSItem { 38 39 public String _name; 40 41 public STSItem() { 42 } 43 44 public STSItem(String name) { 45 _name = name; 46 } 47 } 48 49 protected void configure(Configuration config) { 50 ObjectClass objectClass = config.objectClass(STSItem.class); 51 objectClass.generateUUIDs(true); 52 objectClass.generateVersionNumbers(true); 53 } 54 55 protected void store() { 56 db().set(new STSItem("one")); 57 } 58 59 public void test() throws Exception { 60 STSItem item = (STSItem) db().get(STSItem.class).next(); 61 62 long version = db().getObjectInfo(item).getVersion(); 63 Assert.isGreater(0, version); 64 Assert.isGreaterOrEqual(version, currentVersion()); 65 66 reopen(); 67 68 STSItem item2 = new STSItem("two"); 69 db().set(item2); 70 71 long secondVersion = db().getObjectInfo(item2).getVersion(); 72 73 Assert.isGreater(version, secondVersion); 74 Assert.isGreaterOrEqual(secondVersion, currentVersion()); 75 } 76 77 private long currentVersion() { 78 return ((YapFile) db()).currentVersion(); 79 } 80 } 81 | Popular Tags |