diff options
author | Brian S. O'Neill <bronee@gmail.com> | 2006-09-04 06:01:19 +0000 |
---|---|---|
committer | Brian S. O'Neill <bronee@gmail.com> | 2006-09-04 06:01:19 +0000 |
commit | d88b8c7708cdf8c4fb1ec78371490f282d5f945e (patch) | |
tree | 4232a03882ef2e93bc85c0a70f4be7e66e8b158c /src/test | |
parent | 875031b6075b484ca7fea2ed410d610d787c44d6 (diff) |
Test to ensure redundant orderings are eliminated.
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/java/com/amazon/carbonado/qe/TestOrderingScore.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/java/com/amazon/carbonado/qe/TestOrderingScore.java b/src/test/java/com/amazon/carbonado/qe/TestOrderingScore.java index ac407ec..91b5676 100644 --- a/src/test/java/com/amazon/carbonado/qe/TestOrderingScore.java +++ b/src/test/java/com/amazon/carbonado/qe/TestOrderingScore.java @@ -520,4 +520,27 @@ public class TestOrderingScore extends TestCase { assertEquals(0, score.getRemainderCount());
assertEquals(false, score.shouldReverseOrder());
}
+
+ public void testReduce() throws Exception {
+ // Tests that redundant ordering properties are removed.
+ final StorableIndex<StorableTestBasic> ix;
+ List<OrderedProperty<StorableTestBasic>> ops;
+ OrderingScore score;
+ Filter<StorableTestBasic> filter;
+
+ ix = makeIndex(StorableTestBasic.class, "id", "intProp", "doubleProp");
+ ops = makeOrderings(StorableTestBasic.class,
+ "intProp", "intProp", "id", "doubleProp", "intProp", "doubleProp",
+ "longProp", "longProp", "id", "intProp", "doubleProp");
+ filter = Filter.filterFor(StorableTestBasic.class, "id = ?");
+
+ score = OrderingScore.evaluate(ix, filter, ops);
+ assertEquals(2, score.getHandledCount());
+ assertEquals(1, score.getRemainderCount());
+ assertEquals(false, score.shouldReverseOrder());
+
+ assertEquals("+intProp", score.getHandledOrderings().get(0).toString());
+ assertEquals("+doubleProp", score.getHandledOrderings().get(1).toString());
+ assertEquals("+longProp", score.getRemainderOrderings().get(0).toString());
+ }
}
|