### Question:
KieSelectElement implements KieSelectElementBase,
                                         IsElement { public void setup(final List<KieSelectOption> options, final String initialValue, final Consumer<String> onChange) { optionsListPresenter.setup( view.getSelect(), options, (item, presenter) -> presenter.setup(item, this)); view.setValue(initialValue); view.initSelect(); this.onChange = onChange; } @Inject  KieSelectElement(final View view,
                            final KieSelectOptionsListPresenter optionsListPresenter); @PostConstruct void init(); void setup(final List<KieSelectOption> options,
                      final String initialValue,
                      final Consumer<String> onChange); void clear(); void onChange(); void setValue(final String value); String getValue(); @Override HTMLElement getElement();  }### Answer:
@Test public void testSetup() { final HTMLElement viewRoot = spy(new HTMLElement()); viewRoot.innerHTML = "bar"; doReturn(viewRoot).when(view).getElement(); final HTMLSelectElement selectElement = spy(new HTMLSelectElement()); doReturn(selectElement).when(view).getSelect(); final List<KieSelectOption> options = singletonList(new KieSelectOption("Label", "Value")); kieSelectElement.setup( options, "Value", value -> { }); verify(view).setValue(eq("Value")); verify(optionsListPresenter).setup(eq(selectElement), eq(options), any()); }