package com.vaadin.tests.components.treegrid; import org.junit.Assert; import org.junit.Test; import com.vaadin.data.HierarchyData; import com.vaadin.data.provider.InMemoryHierarchicalDataProvider; import com.vaadin.ui.TreeGrid; import com.vaadin.ui.renderers.TextRenderer; public class TreeGridTest { private TreeGrid<String> treeGrid = new TreeGrid<>(); private boolean expandEventFired = false; private boolean collapseEventFired = false; @Test(expected = IllegalStateException.class) public void testChangeRendererOfHierarchyColumn() { treeGrid.addColumn(Object::toString).setId("foo"); treeGrid.setHierarchyColumn("foo"); // This should not be allowed. treeGrid.getColumn("foo").setRenderer(new TextRenderer()); } @Test public void testExpandAndCollapseEvents() { HierarchyData<String> hierarchyData = new HierarchyData<>(); hierarchyData.addItem(null, "Foo"); hierarchyData.addItem("Foo", "Bar"); hierarchyData.addItem("Foo", "Baz"); treeGrid.setDataProvider( new InMemoryHierarchicalDataProvider<>(hierarchyData)); treeGrid.addExpandListener(e -> expandEventFired = true); treeGrid.addCollapseListener(e -> collapseEventFired = true); // Test expand event Assert.assertFalse(expandEventFired); treeGrid.expand("Foo"); Assert.assertTrue("Expand event not fired", expandEventFired); // Test collapse event Assert.assertFalse(collapseEventFired); treeGrid.collapse("Foo"); Assert.assertTrue("Collapse event not fired", collapseEventFired); } }