From d88b8c7708cdf8c4fb1ec78371490f282d5f945e Mon Sep 17 00:00:00 2001 From: "Brian S. O'Neill" Date: Mon, 4 Sep 2006 06:01:19 +0000 Subject: Test to ensure redundant orderings are eliminated. --- .../com/amazon/carbonado/qe/TestOrderingScore.java | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/test') 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 ix; + List> ops; + OrderingScore score; + Filter 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()); + } } -- cgit v1.2.3