1 21 package com.db4o.test; 22 23 import com.db4o.*; 24 import com.db4o.query.*; 25 26 public class SortedSameOrder { 27 private static class Sortable { 28 private String a; 29 30 public Sortable(String a) { 31 this.a = a; 32 } 33 34 public String toString() { 35 return a; 36 } 37 } 38 39 private static class SortableComparator implements QueryComparator { 40 public int compare(Object first, Object second) { 41 return ((Sortable)first).a.compareTo(((Sortable)second).a); 42 } 43 } 44 45 public void store() { 46 Test.store(new Sortable("a")); 47 Test.store(new Sortable("c")); 48 Test.store(new Sortable("b")); 49 } 50 51 public void test() { 52 Query query=Test.query(); 53 query.constrain(Sortable.class); 54 SortableComparator cmp = new SortableComparator(); 55 query.sortBy(cmp); 56 ObjectSet result=query.execute(); 57 58 Object last=null; 59 while(result.hasNext()) { 60 Object cur=result.next(); 61 Test.ensure(last==null||cmp.compare(last,cur)<=0); 62 last=cur; 63 } 64 last=null; 65 for (int i=0;i<result.size();i++) { 66 Object cur = result.get(i); 67 Test.ensure(last==null||cmp.compare(last,cur)<=0); 68 last=cur; 69 } 70 } 71 } 72 | Popular Tags |