Select implements IsElement,
                               TakesValue<String> { public void addOption(final String text) { addOption(text, text); }  @Override HTMLElement getElement(); void addOption(final String text); void addOption(final String text,
                          final String value); void addOption(final String text,
                          final String value,
                          final Boolean selected); void addOption(final String text,
                          final String subText,
                          final String value,
                          final Boolean selected); OptionsCollection getOptions(); void removeAllOptions(); void refresh(); void refresh(final Consumer<Select> consumer); @Override String getValue(); @Override void setValue(final String value); void enable(); void disable(); void hide(); void show(); void toggle(); void setTitle(final String title); void setLiveSearch(final Boolean liveSearch); void setWidth(final String width); void init();  }
@Test public void testAddOption() { final Option option = mock(Option.class); when(document.createElement("option")).thenReturn(option); select.addOption("text", "subText", "value", true); verify(option).setText("text"); verify(option).setValue("value"); verify(option).setSelected(true); option.setAttribute("data-subtext", "subText"); verify(selectMock).add(option); }