package com.uwsoft.editor.event;
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
import com.kotcrab.vis.ui.widget.VisCheckBox;
import com.uwsoft.editor.Overlap2DFacade;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import static org.mockito.BDDMockito.given;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.MockitoAnnotations.initMocks;
import static org.powermock.api.mockito.PowerMockito.mockStatic;
import static org.powermock.api.mockito.PowerMockito.when;
@RunWith(PowerMockRunner.class)
@PrepareForTest(Overlap2DFacade.class)
public class CheckBoxChangeListenerTest {
@Mock
private Overlap2DFacade overlap2DFacade;
private CheckBoxChangeListener checkBoxChangeListener;
@Before
public void setUp() throws Exception {
initMocks(this);
mockStatic(Overlap2DFacade.class);
when(Overlap2DFacade.getInstance()).thenReturn(overlap2DFacade);
checkBoxChangeListener = new CheckBoxChangeListener("test");
}
@Test
public void shouldSendCheckBoxStatus() throws Exception {
VisCheckBox visCheckBox = mock(VisCheckBox.class);
given(visCheckBox.isChecked()).willReturn(true);
checkBoxChangeListener.changed(mock(ChangeListener.ChangeEvent.class), visCheckBox);
verify(overlap2DFacade).sendNotification(eq("test"), eq(true));
}
}