package com.uwsoft.editor.event; import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; import com.uwsoft.editor.view.ui.widget.EditableSelectBox; import org.junit.Before; import org.junit.Test; import org.mockito.internal.util.reflection.Whitebox; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; public class EditableSelectBoxChangeListenerTest { private EditableSelectBoxChangeListener editableSelectBoxChangeListener; @Before public void setUp() throws Exception { editableSelectBoxChangeListener = new EditableSelectBoxChangeListener("test"); } @Test public void shouldUpdateLastValue() throws Exception { EditableSelectBox editableSelectBox = mock(EditableSelectBox.class); given(editableSelectBox.getSelected()).willReturn("last-value"); editableSelectBoxChangeListener.changed(mock(ChangeListener.ChangeEvent.class), editableSelectBox); Object lastSelected = Whitebox.getInternalState(editableSelectBoxChangeListener, "lastSelected"); assertThat(lastSelected, is("last-value")); } }