diff options
Diffstat (limited to 'server/src/test')
-rw-r--r-- | server/src/test/java/com/vaadin/data/provider/TreeDataProviderTest.java | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/server/src/test/java/com/vaadin/data/provider/TreeDataProviderTest.java b/server/src/test/java/com/vaadin/data/provider/TreeDataProviderTest.java index 3f9f1f6e94..f0b2d5f81f 100644 --- a/server/src/test/java/com/vaadin/data/provider/TreeDataProviderTest.java +++ b/server/src/test/java/com/vaadin/data/provider/TreeDataProviderTest.java @@ -5,6 +5,7 @@ import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; +import java.util.stream.Stream; import org.junit.Assert; import org.junit.Test; @@ -12,8 +13,8 @@ import org.junit.Test; import com.vaadin.data.TreeData; import com.vaadin.server.SerializablePredicate; -public class TreeDataProviderTest extends - DataProviderTestBase<TreeDataProvider<StrBean>> { +public class TreeDataProviderTest + extends DataProviderTestBase<TreeDataProvider<StrBean>> { private TreeData<StrBean> data; private List<StrBean> flattenedData; @@ -46,8 +47,7 @@ public class TreeDataProviderTest extends @Test(expected = IllegalArgumentException.class) public void treeData_add_item_parent_not_in_hierarchy_throws() { - new TreeData<>().addItem(new StrBean("", 0, 0), - new StrBean("", 0, 0)); + new TreeData<>().addItem(new StrBean("", 0, 0), new StrBean("", 0, 0)); } @Test(expected = NullPointerException.class) @@ -99,6 +99,24 @@ public class TreeDataProviderTest extends } @Test + public void populate_treeData_with_stream_child_item_provider() { + TreeData<String> stringData = new TreeData<>(); + Stream<String> rootItems = Stream.of("a", "b", "c"); + stringData.addItems(rootItems, item -> { + if (item.length() >= 3 || item.startsWith("c")) { + return Stream.empty(); + } + return Stream.of(item + "/a", item + "/b", item + "/c"); + }); + Assert.assertEquals(stringData.getChildren("a"), + Arrays.asList("a/a", "a/b", "a/c")); + Assert.assertEquals(stringData.getChildren("b"), + Arrays.asList("b/a", "b/b", "b/c")); + Assert.assertEquals(stringData.getChildren("c"), Arrays.asList()); + Assert.assertEquals(stringData.getChildren("a/b"), Arrays.asList()); + } + + @Test public void setFilter() { getDataProvider().setFilter(item -> item.getValue().equals("Xyz") || item.getValue().equals("Baz")); |