package com.vaadin.tests.elements.twincolselect; import java.util.List; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import com.vaadin.testbench.elements.LabelElement; import com.vaadin.testbench.elements.TwinColSelectElement; import com.vaadin.tests.tb3.MultiBrowserTest; public class TwinColSelectUITest extends MultiBrowserTest { TwinColSelectElement multiSelect; LabelElement multiCounterLbl; @Before public void init() { openTestURL(); multiSelect = $(TwinColSelectElement.class).first(); multiCounterLbl = $(LabelElement.class).id("multiCounterLbl"); } @Test public void testSelectDeselectByText() { multiSelect.selectByText("item2"); Assert.assertEquals("1: [item1, item2]", multiCounterLbl.getText()); multiSelect.selectByText("item3"); Assert.assertEquals("2: [item1, item2, item3]", multiCounterLbl.getText()); multiSelect.deselectByText("item2"); Assert.assertEquals("3: [item1, item3]", multiCounterLbl.getText()); } @Test public void testDeselectSelectByText() { multiSelect.deselectByText("item1"); Assert.assertEquals("1: []", multiCounterLbl.getText()); multiSelect.selectByText("item1"); Assert.assertEquals("2: [item1]", multiCounterLbl.getText()); } @Test public void testGetAvailableOptions() { assertAvailableOptions("item2", "item3"); multiSelect.selectByText("item2"); assertAvailableOptions("item3"); multiSelect.deselectByText("item1"); assertAvailableOptions("item1", "item3"); } private void assertAvailableOptions(String... items) { List<String> optionTexts = multiSelect.getAvailableOptions(); Assert.assertArrayEquals(items, optionTexts.toArray()); } }