summaryrefslogtreecommitdiffstats
path: root/server/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/test')
-rw-r--r--server/src/test/java/com/vaadin/data/provider/TreeDataProviderTest.java26
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"));