package de.lessvoid.nifty; import de.lessvoid.nifty.spi.input.InputSystem; import de.lessvoid.nifty.spi.render.RenderDevice; import de.lessvoid.nifty.spi.sound.SoundDevice; import de.lessvoid.nifty.spi.time.TimeProvider; import de.lessvoid.nifty.tools.resourceloader.NiftyResourceLoader; import org.junit.After; import org.junit.Before; import org.junit.Test; import static org.easymock.EasyMock.*; public class NiftyTest { private Nifty nifty; private RenderDevice renderDeviceMock; private SoundDevice soundDeviceMock; private InputSystem inputSystemMock; private TimeProvider timeProviderMock; @Before public void before() throws Exception { renderDeviceMock = createMock(RenderDevice.class); renderDeviceMock.setResourceLoader(isA(NiftyResourceLoader.class)); expectLastCall().once(); expect(renderDeviceMock.getWidth()).andStubReturn(0); expect(renderDeviceMock.getHeight()).andStubReturn(0); replay(renderDeviceMock); soundDeviceMock = createMock(SoundDevice.class); soundDeviceMock.setResourceLoader(isA(NiftyResourceLoader.class)); expectLastCall().once(); replay(soundDeviceMock); inputSystemMock = createMock(InputSystem.class); inputSystemMock.setResourceLoader(isA(NiftyResourceLoader.class)); expectLastCall().once(); replay(inputSystemMock); timeProviderMock = createMock(TimeProvider.class); expect(timeProviderMock.getMsTime()).andStubReturn(0L); replay(timeProviderMock); nifty = new Nifty(renderDeviceMock, soundDeviceMock, inputSystemMock, timeProviderMock); } @After public void tearDown() throws Exception { verify(renderDeviceMock); verify(soundDeviceMock); verify(inputSystemMock); verify(timeProviderMock); } @Test public void testCallingExitMultipleTimesDoesNotThrowNullPointerException() { nifty.exit(); nifty.exit(); nifty.exit(); } }