1 21 package com.db4o.db4ounit.jre5; 22 23 import com.db4o.config.annotations.*; 24 import com.db4o.ext.*; 25 26 import db4ounit.*; 27 import db4ounit.extensions.*; 28 29 public class IndexedAnnotationTestCase extends AbstractDb4oTestCase { 30 31 private static class DataAnnotated { 32 @Indexed 33 private int _id; 34 35 public DataAnnotated(int id) { 36 this._id = id; 37 } 38 39 public String toString() { 40 return "DataAnnotated(" + _id + ")"; 41 } 42 } 43 44 private static class DataNotAnnotated { 45 private int _id; 46 47 public DataNotAnnotated(int id) { 48 this._id = id; 49 } 50 51 public String toString() { 52 return "DataNotAnnotated(" + _id + ")"; 53 } 54 } 55 56 public void testIndexed() throws Exception { 57 storeData(); 58 assertIndexed(); 59 reopen(); 60 assertIndexed(); 61 } 62 63 private void storeData() { 64 db().set(new DataAnnotated(42)); 65 db().set(new DataNotAnnotated(43)); 66 } 67 68 private void assertIndexed() { 69 assertIndexed(DataNotAnnotated.class,false); 70 assertIndexed(DataAnnotated.class,true); 71 } 72 73 private void assertIndexed(Class clazz,boolean expected) { 74 StoredClass storedClass=fileSession().storedClass(clazz); 75 StoredField storedField=storedClass.storedField("_id",Integer.TYPE); 76 Assert.areEqual(expected,storedField.hasIndex()); 77 } 78 79 public static void main(String [] args) { 80 new IndexedAnnotationTestCase().runSoloAndClientServer(); 81 } 82 } 83 | Popular Tags |