From a1cc08d7b98b09e45a01bde6abe13ffdcb200598 Mon Sep 17 00:00:00 2001 From: Aleksi Hietanen Date: Fri, 27 Jan 2017 09:07:29 +0200 Subject: Implement GridSortOrder and SortOrderBuilders (#8338) --- .../vaadin/data/provider/DataProviderTestBase.java | 9 +-- .../data/provider/SortOrderBuildersTest.java | 66 ++++++++++++++++++++++ .../tests/server/component/grid/GridTest.java | 22 ++++---- 3 files changed, 82 insertions(+), 15 deletions(-) create mode 100644 server/src/test/java/com/vaadin/data/provider/SortOrderBuildersTest.java (limited to 'server/src/test/java') diff --git a/server/src/test/java/com/vaadin/data/provider/DataProviderTestBase.java b/server/src/test/java/com/vaadin/data/provider/DataProviderTestBase.java index ebdcdd105c..84f011abf8 100644 --- a/server/src/test/java/com/vaadin/data/provider/DataProviderTestBase.java +++ b/server/src/test/java/com/vaadin/data/provider/DataProviderTestBase.java @@ -82,7 +82,8 @@ public abstract class DataProviderTestBase list = dataProvider - .fetch(createQuery(Sort.asc("value").thenAsc("randomNumber") + .fetch(createQuery( + QuerySortOrder.asc("value").thenAsc("randomNumber") .thenAsc("id").build(), comp)) .collect(Collectors.toList()); @@ -104,10 +105,10 @@ public abstract class DataProviderTestBase comp = Comparator.comparing(StrBean::getValue) .thenComparing(Comparator.comparing(StrBean::getId).reversed()); - setSortOrder(Sort.asc("value").thenDesc("id").build(), comp); + setSortOrder(QuerySortOrder.asc("value").thenDesc("id").build(), comp); List list = dataProvider - .fetch(createQuery(Sort.asc("randomNumber").build(), + .fetch(createQuery(QuerySortOrder.asc("randomNumber").build(), Comparator.comparing(StrBean::getRandomNumber))) .collect(Collectors.toList()); @@ -136,7 +137,7 @@ public abstract class DataProviderTestBase list = dataProvider.fetch(new Query<>()) diff --git a/server/src/test/java/com/vaadin/data/provider/SortOrderBuildersTest.java b/server/src/test/java/com/vaadin/data/provider/SortOrderBuildersTest.java new file mode 100644 index 0000000000..e289686040 --- /dev/null +++ b/server/src/test/java/com/vaadin/data/provider/SortOrderBuildersTest.java @@ -0,0 +1,66 @@ +package com.vaadin.data.provider; + +import java.time.LocalDate; +import java.util.Arrays; +import java.util.List; + +import org.junit.Assert; +import org.junit.Test; + +import com.vaadin.shared.data.sort.SortDirection; +import com.vaadin.ui.Grid; +import com.vaadin.ui.Grid.Column; +import com.vaadin.ui.renderers.NumberRenderer; + +public class SortOrderBuildersTest { + + @Test + public void gridSortOrderBuilder() { + Grid grid = new Grid<>(); + Column col1 = grid.addColumn(string -> string); + Column col2 = grid.addColumn(string -> 1, + new NumberRenderer()); + Column col3 = grid + .addColumn(string -> LocalDate.of(0, 0, 0)); + + // construct with asc + verifySortOrders( + Arrays.asList( + new GridSortOrder<>(col1, SortDirection.ASCENDING), + new GridSortOrder<>(col2, SortDirection.DESCENDING), + new GridSortOrder<>(col3, SortDirection.ASCENDING)), + GridSortOrder.asc(col1).thenDesc(col2).thenAsc(col3).build()); + // construct with desc + verifySortOrders( + Arrays.asList( + new GridSortOrder<>(col1, SortDirection.DESCENDING), + new GridSortOrder<>(col2, SortDirection.DESCENDING), + new GridSortOrder<>(col3, SortDirection.ASCENDING)), + GridSortOrder.desc(col1).thenDesc(col2).thenAsc(col3).build()); + } + + @Test + public void querySortOrderBuilder() { + verifySortOrders( + Arrays.asList(new QuerySortOrder("a", SortDirection.ASCENDING), + new QuerySortOrder("b", SortDirection.DESCENDING), + new QuerySortOrder("c", SortDirection.ASCENDING)), + QuerySortOrder.asc("a").thenDesc("b").thenAsc("c").build()); + verifySortOrders( + Arrays.asList(new QuerySortOrder("a", SortDirection.DESCENDING), + new QuerySortOrder("b", SortDirection.DESCENDING), + new QuerySortOrder("c", SortDirection.ASCENDING)), + QuerySortOrder.desc("a").thenDesc("b").thenAsc("c").build()); + } + + private > void verifySortOrders(List order1, + List order2) { + Assert.assertEquals(order1.size(), order2.size()); + for (int i = 0; i < order1.size(); i++) { + Assert.assertEquals(order1.get(i).getDirection(), + order2.get(i).getDirection()); + Assert.assertEquals(order1.get(i).getSorted(), + order1.get(i).getSorted()); + } + } +} diff --git a/server/src/test/java/com/vaadin/tests/server/component/grid/GridTest.java b/server/src/test/java/com/vaadin/tests/server/component/grid/GridTest.java index 73ef2fceeb..601a63115e 100644 --- a/server/src/test/java/com/vaadin/tests/server/component/grid/GridTest.java +++ b/server/src/test/java/com/vaadin/tests/server/component/grid/GridTest.java @@ -16,7 +16,7 @@ import org.junit.Before; import org.junit.Test; import com.vaadin.data.ValueProvider; -import com.vaadin.data.provider.SortOrder; +import com.vaadin.data.provider.GridSortOrder; import com.vaadin.event.selection.SelectionEvent; import com.vaadin.shared.data.sort.SortDirection; import com.vaadin.shared.ui.grid.HeightMode; @@ -179,7 +179,7 @@ public class GridTest { Column column = grid.getColumns().get(1); grid.sort(column); - SortOrder> sortOrder = grid.getSortOrder().get(0); + GridSortOrder sortOrder = grid.getSortOrder().get(0); Assert.assertEquals(column, sortOrder.getSorted()); Assert.assertEquals(SortDirection.ASCENDING, sortOrder.getDirection()); } @@ -189,7 +189,7 @@ public class GridTest { Column column = grid.getColumns().get(1); grid.sort(column, SortDirection.DESCENDING); - SortOrder> sortOrder = grid.getSortOrder().get(0); + GridSortOrder sortOrder = grid.getSortOrder().get(0); Assert.assertEquals(column, sortOrder.getSorted()); Assert.assertEquals(SortDirection.DESCENDING, sortOrder.getDirection()); } @@ -198,12 +198,12 @@ public class GridTest { public void setSortOrder() { Column column1 = grid.getColumns().get(1); Column column2 = grid.getColumns().get(2); - List>> order = Arrays.asList( - new SortOrder<>(column2, SortDirection.DESCENDING), - new SortOrder<>(column1, SortDirection.ASCENDING)); + List> order = Arrays.asList( + new GridSortOrder<>(column2, SortDirection.DESCENDING), + new GridSortOrder<>(column1, SortDirection.ASCENDING)); grid.setSortOrder(order); - List>> sortOrder = grid.getSortOrder(); + List> sortOrder = grid.getSortOrder(); Assert.assertEquals(column2, sortOrder.get(0).getSorted()); Assert.assertEquals(SortDirection.DESCENDING, sortOrder.get(0).getDirection()); @@ -228,7 +228,7 @@ public class GridTest { Column column1 = grid.getColumns().get(1); Column column2 = grid.getColumns().get(2); - List>> list = new ArrayList<>(); + List> list = new ArrayList<>(); AtomicReference fired = new AtomicReference<>(); grid.addSortListener(event -> { Assert.assertTrue(list.isEmpty()); @@ -241,9 +241,9 @@ public class GridTest { Assert.assertEquals(SortDirection.DESCENDING, list.get(0).getDirection()); - List>> order = Arrays.asList( - new SortOrder<>(column2, SortDirection.DESCENDING), - new SortOrder<>(column1, SortDirection.ASCENDING)); + List> order = Arrays.asList( + new GridSortOrder<>(column2, SortDirection.DESCENDING), + new GridSortOrder<>(column1, SortDirection.ASCENDING)); list.clear(); grid.setSortOrder(order); -- cgit v1.2.3