Repository: cayenne
Updated Branches:
  refs/heads/master f771c9bb9 -> af0f2e144


cleanup


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/af0f2e14
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/af0f2e14
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/af0f2e14

Branch: refs/heads/master
Commit: af0f2e1447426124173ba006ab816490d6f2c0cf
Parents: f771c9b
Author: Andrus Adamchik <and...@objectstyle.com>
Authored: Sun Dec 25 15:47:57 2016 +0300
Committer: Andrus Adamchik <and...@objectstyle.com>
Committed: Sun Dec 25 16:05:15 2016 +0300

----------------------------------------------------------------------
 .../org/apache/cayenne/query/OrderingTest.java  | 178 ++++++++++++-------
 1 file changed, 113 insertions(+), 65 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/af0f2e14/cayenne-server/src/test/java/org/apache/cayenne/query/OrderingTest.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/query/OrderingTest.java 
b/cayenne-server/src/test/java/org/apache/cayenne/query/OrderingTest.java
index b32a8dc..c6c7d55 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/OrderingTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/OrderingTest.java
@@ -29,15 +29,13 @@ import java.util.Collection;
 import java.util.HashSet;
 import java.util.List;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static java.util.Arrays.asList;
+import static org.junit.Assert.*;
 
 public class OrderingTest {
 
     @Test
-    public void testPathSpec1() throws Exception {
+    public void testPathSpec1() {
         String pathSpec = "a.b.c";
         Ordering ord = new Ordering();
         assertNull(ord.getSortSpec());
@@ -47,14 +45,14 @@ public class OrderingTest {
     }
 
     @Test
-    public void testPathSpec3() throws Exception {
+    public void testPathSpec3() {
         String pathSpec = "a.b.c";
         Ordering ord = new Ordering(pathSpec, SortOrder.DESCENDING);
         assertEquals(pathSpec, ord.getSortSpec().getOperand(0));
     }
 
     @Test
-    public void testAscending1() throws Exception {
+    public void testAscending1() {
         Ordering ord = new Ordering();
         ord.setAscending();
         assertTrue(ord.isAscending());
@@ -62,7 +60,7 @@ public class OrderingTest {
     }
 
     @Test
-    public void testAscending2() throws Exception {
+    public void testAscending2() {
         Ordering ord = new Ordering();
         ord.setSortOrder(SortOrder.ASCENDING);
         assertTrue(ord.isAscending());
@@ -70,7 +68,7 @@ public class OrderingTest {
     }
 
     @Test
-    public void testAscending3() throws Exception {
+    public void testAscending3() {
         Ordering ord = new Ordering();
         ord.setSortOrder(SortOrder.ASCENDING_INSENSITIVE);
         assertTrue(ord.isAscending());
@@ -78,7 +76,7 @@ public class OrderingTest {
     }
 
     @Test
-    public void testDescending1() throws Exception {
+    public void testDescending1() {
         Ordering ord = new Ordering();
         ord.setDescending();
         assertFalse(ord.isAscending());
@@ -86,7 +84,7 @@ public class OrderingTest {
     }
 
     @Test
-    public void testDescending2() throws Exception {
+    public void testDescending2() {
         Ordering ord = new Ordering();
         ord.setSortOrder(SortOrder.DESCENDING);
         assertFalse(ord.isAscending());
@@ -94,7 +92,7 @@ public class OrderingTest {
     }
 
     @Test
-    public void testDescending3() throws Exception {
+    public void testDescending3() {
         Ordering ord = new Ordering();
         ord.setSortOrder(SortOrder.DESCENDING_INSENSITIVE);
         assertFalse(ord.isAscending());
@@ -102,31 +100,31 @@ public class OrderingTest {
     }
 
     @Test
-    public void testCaseInsensitive3() throws Exception {
+    public void testCaseInsensitive3() {
         Ordering ord = new Ordering("M", SortOrder.ASCENDING_INSENSITIVE);
         assertTrue(ord.isCaseInsensitive());
     }
 
     @Test
-    public void testCaseInsensitive4() throws Exception {
+    public void testCaseInsensitive4() {
         Ordering ord = new Ordering("N", SortOrder.ASCENDING);
         assertFalse(ord.isCaseInsensitive());
     }
 
     @Test
-    public void testCaseInsensitive5() throws Exception {
+    public void testCaseInsensitive5() {
         Ordering ord = new Ordering("M", SortOrder.DESCENDING_INSENSITIVE);
         assertTrue(ord.isCaseInsensitive());
     }
 
     @Test
-    public void testCaseInsensitive6() throws Exception {
+    public void testCaseInsensitive6() {
         Ordering ord = new Ordering("N", SortOrder.DESCENDING);
         assertFalse(ord.isCaseInsensitive());
     }
 
     @Test
-    public void testCompare3() throws Exception {
+    public void testCompare3() {
         Painting p1 = new Painting();
         p1.setEstimatedPrice(new BigDecimal(1000.00));
 
@@ -143,7 +141,7 @@ public class OrderingTest {
     }
 
     @Test
-    public void testCompare4() throws Exception {
+    public void testCompare4() {
         // compare on non-persistent property
         TstBean t1 = new TstBean(1000);
         TstBean t2 = new TstBean(2000);
@@ -156,24 +154,36 @@ public class OrderingTest {
     }
 
     @Test
-    public void testOrderList2() throws Exception {
-        // compare on non-persistent property
-        List<TstBean> list = new ArrayList<TstBean>(3);
+    public void testOrderList() {
+        List<TstBean> list = new ArrayList<>(3);
 
         list.add(new TstBean(5));
         list.add(new TstBean(2));
         list.add(new TstBean(3));
 
         new Ordering("integer", SortOrder.ASCENDING).orderList(list);
-        assertEquals(2, ((TstBean) list.get(0)).getInteger().intValue());
-        assertEquals(3, ((TstBean) list.get(1)).getInteger().intValue());
-        assertEquals(5, ((TstBean) list.get(2)).getInteger().intValue());
+        assertEquals(2, list.get(0).getInteger().intValue());
+        assertEquals(3, list.get(1).getInteger().intValue());
+        assertEquals(5, list.get(2).getInteger().intValue());
     }
 
     @Test
-    public void testOrderListWithMultipleOrderings2() throws Exception {
-        // compare on non-persistent property
-        List<TstBean> list = new ArrayList<TstBean>(6);
+    public void testOrderList_Related() {
+        List<B1> unordered = asList(
+                new B1().setName("three").setB2(new B2().setName("Z")),
+                new B1().setName("one").setB2(new B2().setName("A")),
+                new B1().setName("two").setB2(new B2().setName("M"))
+        );
+
+        List<B1> ordered = new Ordering("b2.name", 
SortOrder.ASCENDING).orderedList(unordered);
+        assertEquals("one", ordered.get(0).getName());
+        assertEquals("two", ordered.get(1).getName());
+        assertEquals("three", ordered.get(2).getName());
+    }
+
+    @Test
+    public void testOrderList_Static() {
+        List<TstBean> list = new ArrayList<>(6);
 
         list.add(new TstBean("c", 1));
         list.add(new TstBean("c", 30));
@@ -182,12 +192,12 @@ public class OrderingTest {
         list.add(new TstBean("b", 2));
         list.add(new TstBean("b", 5));
 
-        List<Ordering> orderings = new ArrayList<Ordering>(2);
-        orderings.add(new Ordering("string", SortOrder.ASCENDING));
-        orderings.add(new Ordering("integer", SortOrder.DESCENDING));
+        List<Ordering> orderings = asList(
+                new Ordering("string", SortOrder.ASCENDING),
+                new Ordering("integer", SortOrder.DESCENDING));
 
         // clone list and then order
-        List<TstBean> orderedList = new ArrayList<TstBean>(list);
+        List<TstBean> orderedList = new ArrayList<>(list);
         Ordering.orderList(orderedList, orderings);
 
         assertEquals(list.get(2), orderedList.get(0));
@@ -197,38 +207,38 @@ public class OrderingTest {
         assertEquals(list.get(1), orderedList.get(4));
         assertEquals(list.get(0), orderedList.get(5));
     }
-    
+
     @Test
-    public void testOrderedListInstanceMethod() {
-       Collection<TstBean> set = new HashSet<TstBean>(6);
-       
-       TstBean shouldBe0 = new TstBean("a", 0);
-       TstBean shouldBe1 = new TstBean("b", 0);
-       TstBean shouldBe2 = new TstBean("c", 0);
-       TstBean shouldBe3 = new TstBean("d", 0);
-       TstBean shouldBe4 = new TstBean("f", 0);
-       TstBean shouldBe5 = new TstBean("r", 0);
-       
-       set.add(shouldBe1);
-       set.add(shouldBe0);
-       set.add(shouldBe5);
-       set.add(shouldBe3);
-       set.add(shouldBe2);
-       set.add(shouldBe4);
-       
-       List<TstBean> orderedList = new Ordering("string", 
SortOrder.ASCENDING).orderedList(set);
-       
-       assertEquals(shouldBe0, orderedList.get(0));
-       assertEquals(shouldBe1, orderedList.get(1));
-       assertEquals(shouldBe2, orderedList.get(2));
-       assertEquals(shouldBe3, orderedList.get(3));
-       assertEquals(shouldBe4, orderedList.get(4));
-       assertEquals(shouldBe5, orderedList.get(5));
+    public void testOrderedList() {
+        Collection<TstBean> set = new HashSet<>(6);
+
+        TstBean shouldBe0 = new TstBean("a", 0);
+        TstBean shouldBe1 = new TstBean("b", 0);
+        TstBean shouldBe2 = new TstBean("c", 0);
+        TstBean shouldBe3 = new TstBean("d", 0);
+        TstBean shouldBe4 = new TstBean("f", 0);
+        TstBean shouldBe5 = new TstBean("r", 0);
+
+        set.add(shouldBe1);
+        set.add(shouldBe0);
+        set.add(shouldBe5);
+        set.add(shouldBe3);
+        set.add(shouldBe2);
+        set.add(shouldBe4);
+
+        List<TstBean> orderedList = new Ordering("string", 
SortOrder.ASCENDING).orderedList(set);
+
+        assertEquals(shouldBe0, orderedList.get(0));
+        assertEquals(shouldBe1, orderedList.get(1));
+        assertEquals(shouldBe2, orderedList.get(2));
+        assertEquals(shouldBe3, orderedList.get(3));
+        assertEquals(shouldBe4, orderedList.get(4));
+        assertEquals(shouldBe5, orderedList.get(5));
     }
-    
+
     @Test
-    public void testOrderedListStaticMethod() {
-        Collection<TstBean> set = new HashSet<TstBean>(6);
+    public void testOrderedList_Static() {
+        Collection<TstBean> set = new HashSet<>(6);
 
         TstBean shouldBe0 = new TstBean("a", 5);
         TstBean shouldBe1 = new TstBean("b", 5);
@@ -243,13 +253,13 @@ public class OrderingTest {
         set.add(shouldBe1);
         set.add(shouldBe4);
         set.add(shouldBe2);
-        
-        List<Ordering> orderings = new ArrayList<Ordering>(2);
-        orderings.add(new Ordering("string", SortOrder.ASCENDING));
-        orderings.add(new Ordering("integer", SortOrder.DESCENDING));
+
+        List<Ordering> orderings = asList(
+                new Ordering("string", SortOrder.ASCENDING),
+                new Ordering("integer", SortOrder.DESCENDING));
 
         List<TstBean> orderedList = Ordering.orderedList(set, orderings);
-        
+
         assertEquals(shouldBe0, orderedList.get(0));
         assertEquals(shouldBe1, orderedList.get(1));
         assertEquals(shouldBe2, orderedList.get(2));
@@ -257,4 +267,42 @@ public class OrderingTest {
         assertEquals(shouldBe4, orderedList.get(4));
         assertEquals(shouldBe5, orderedList.get(5));
     }
+
+    public static class B1 {
+
+        private B2 b2;
+        private String name;
+
+        public B2 getB2() {
+            return b2;
+        }
+
+        public B1 setB2(B2 b2) {
+            this.b2 = b2;
+            return this;
+        }
+
+        public String getName() {
+            return name;
+        }
+
+        public B1 setName(String name) {
+            this.name = name;
+            return this;
+        }
+    }
+
+    public static class B2 {
+
+        private String name;
+
+        public String getName() {
+            return name;
+        }
+
+        public B2 setName(String name) {
+            this.name = name;
+            return this;
+        }
+    }
 }

Reply via email to