1 21 package com.db4o.db4ounit.common.querying; 22 23 import com.db4o.ObjectSet; 24 import com.db4o.query.Query; 25 26 import db4ounit.Assert; 27 import db4ounit.extensions.AbstractDb4oTestCase; 28 29 32 public class OrderedQueryTestCase extends AbstractDb4oTestCase { 33 34 public static void main(String [] args) { 35 new OrderedQueryTestCase().runSolo(); 36 } 37 38 public static final class Item { 39 public int value; 40 41 public Item(int value) { 42 this.value = value; 43 } 44 } 45 46 protected void store() throws Exception { 47 db().set(new Item(1)); 48 db().set(new Item(3)); 49 db().set(new Item(2)); 50 } 51 52 public void testOrderAscending() { 53 final Query query = newQuery(Item.class); 54 query.descend("value").orderAscending(); 55 assertQuery(new int[] { 1, 2, 3 }, query.execute()); 56 } 57 58 public void testOrderDescending() { 59 final Query query = newQuery(Item.class); 60 query.descend("value").orderDescending(); 61 assertQuery(new int[] { 3, 2, 1 }, query.execute()); 62 } 63 64 private void assertQuery(int[] expected, ObjectSet actual) { 65 for (int i = 0; i < expected.length; i++) { 66 Assert.isTrue(actual.hasNext()); 67 Assert.areEqual(expected[i], ((Item)actual.next()).value); 68 } 69 Assert.isFalse(actual.hasNext()); 70 } 71 } 72 | Popular Tags |