diff options
author | Pekka Hyvönen <pekka@vaadin.com> | 2016-11-29 16:29:39 +0200 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2016-11-30 12:58:00 +0000 |
commit | 429a1b99f3f91dd10aa951e38b90d87e0a4caa44 (patch) | |
tree | 077841f04bda1ce334adfdf36415bfd69fd316b8 /server/src/test/java | |
parent | 2de9aca9e5f9fe0d637f05c7198a93f93e0689e1 (diff) | |
download | vaadin-framework-429a1b99f3f91dd10aa951e38b90d87e0a4caa44.tar.gz vaadin-framework-429a1b99f3f91dd10aa951e38b90d87e0a4caa44.zip |
NoSelectionModel for Grid
Fixes vaadin/framework8-issues#518
Change-Id: Ice6bdef03c3b62dd2c74376f98cfb8004dfa0bbf
Diffstat (limited to 'server/src/test/java')
-rw-r--r-- | server/src/test/java/com/vaadin/tests/components/grid/GridNoSelectionModelTest.java | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/server/src/test/java/com/vaadin/tests/components/grid/GridNoSelectionModelTest.java b/server/src/test/java/com/vaadin/tests/components/grid/GridNoSelectionModelTest.java new file mode 100644 index 0000000000..15456bd950 --- /dev/null +++ b/server/src/test/java/com/vaadin/tests/components/grid/GridNoSelectionModelTest.java @@ -0,0 +1,69 @@ +package com.vaadin.tests.components.grid; + +import java.util.Arrays; +import java.util.LinkedHashSet; +import java.util.Optional; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import com.vaadin.server.data.provider.bov.Person; +import com.vaadin.ui.Grid; +import com.vaadin.ui.Grid.GridSelectionModel; +import com.vaadin.ui.components.grid.MultiSelectionModelImpl; +import com.vaadin.ui.components.grid.NoSelectionModel; +import com.vaadin.ui.components.grid.SingleSelectionModelImpl; + +public class GridNoSelectionModelTest { + + public static final Person PERSON_C = new Person("c", 3); + public static final Person PERSON_B = new Person("b", 2); + public static final Person PERSON_A = new Person("a", 1); + + private Grid<Person> grid; + private GridSelectionModel<Person> model; + + @Before + public void setUp() { + grid = new Grid<>(); + grid.setItems(PERSON_A, PERSON_B, PERSON_C); + + model = new NoSelectionModel<>(grid); + grid.setSelectionModel(model); + } + + @Test + public void select() { + model.select(PERSON_A); + + Assert.assertFalse(model.isSelected(PERSON_A)); + Assert.assertEquals(0, model.getSelectedItems().size()); + Assert.assertEquals(Optional.empty(), model.getFirstSelectedItem()); + + model.select(PERSON_B); + + Assert.assertFalse(model.isSelected(PERSON_B)); + Assert.assertEquals(0, model.getSelectedItems().size()); + Assert.assertEquals(Optional.empty(), model.getFirstSelectedItem()); + } + + @Test + public void changingToSingleSelectionModel() { + grid.setSelectionModel(new SingleSelectionModelImpl<>(grid)); + + grid.getSelectionModel().select(PERSON_B); + Assert.assertEquals(PERSON_B, + grid.getSelectionModel().getFirstSelectedItem().get()); + } + + @Test + public void changingToMultiSelectionModel() { + grid.setSelectionModel(new MultiSelectionModelImpl<>(grid)); + + grid.getSelectionModel().select(PERSON_B); + Assert.assertEquals(new LinkedHashSet<>(Arrays.asList(PERSON_B)), + grid.getSelectionModel().getSelectedItems()); + } + +} |