use of com.b3dgs.lionengine.Config in project lionengine by b3dgs.
the class LoopExtrapolatedTest method testNoSync.
/**
* Test without sync.
*
* @throws InterruptedException If error.
*/
@Test(timeout = 1000L)
public void testNoSync() throws InterruptedException {
ScreenMock.setScreenWait(false);
final Screen screen = new ScreenMock(new Config(new Resolution(320, 240, 0), 16, true));
screen.getConfig().setSource(new Resolution(320, 240, 50));
final Thread thread = getTask(screen);
thread.start();
thread.join();
Assert.assertEquals(maxTick.get(), tick.get());
Assert.assertEquals(tick.get(), rendered.get());
Assert.assertTrue(String.valueOf(extrapolation.get()), extrapolation.get().doubleValue() < 0.1);
final int expectedRate = screen.getConfig().getOutput().getRate();
Assert.assertTrue(String.valueOf(computed.get()), computed.get() > expectedRate);
}
use of com.b3dgs.lionengine.Config in project lionengine by b3dgs.
the class LoopExtrapolatedTest method testLoop.
/**
* Test loop.
*
* @throws InterruptedException If error.
*/
@Test(timeout = 1000L)
public void testLoop() throws InterruptedException {
ScreenMock.setScreenWait(false);
final Screen screen = new ScreenMock(new Config(new Resolution(320, 240, 50), 16, true));
screen.getConfig().setSource(new Resolution(320, 240, 50));
final Thread thread = getTask(screen);
thread.start();
thread.join();
Assert.assertEquals(maxTick.get(), tick.get());
Assert.assertEquals(tick.get(), rendered.get());
Assert.assertTrue(String.valueOf(extrapolation.get().doubleValue()), extrapolation.get().doubleValue() > 0.0);
final int expectedRate = screen.getConfig().getOutput().getRate();
Assert.assertTrue(String.valueOf(computed.get()), computed.get() <= expectedRate);
}
use of com.b3dgs.lionengine.Config in project lionengine by b3dgs.
the class LoopFrameSkippingTest method testSpikeOfDeath.
/**
* Test with spike of death.
*
* @throws InterruptedException If error.
*/
@Test(timeout = 2000L)
public void testSpikeOfDeath() throws InterruptedException {
ScreenMock.setScreenWait(false);
final Screen screen = new ScreenMock(new Config(new Resolution(320, 240, 50), 16, true));
screen.getConfig().setSource(new Resolution(320, 240, 50));
final long maxFrameTime = Math.round(LoopFrameSkipping.MAX_FRAME_TIME_NANO / Constant.NANO_TO_MILLI);
pause.set(maxFrameTime * 2);
final Thread thread = getTask(screen);
thread.start();
thread.join();
final double frameTimeMilli = 1000.0 / screen.getConfig().getSource().getRate();
Assert.assertEquals(Math.round(Math.floor(maxFrameTime / frameTimeMilli)), tick.get());
Assert.assertEquals(2, rendered.get());
final int expectedRate = screen.getConfig().getOutput().getRate();
Assert.assertTrue(String.valueOf(computed.get()), computed.get() < expectedRate);
}
use of com.b3dgs.lionengine.Config in project lionengine by b3dgs.
the class LoopFrameSkippingTest method testEngineNotStarted.
/**
* Test with not started engine.
*
* @throws InterruptedException If error.
*/
@Test(timeout = 1000L)
public void testEngineNotStarted() throws InterruptedException {
ScreenMock.setScreenWait(false);
final Screen screen = new ScreenMock(new Config(new Resolution(320, 240, 50), 16, true));
screen.getConfig().setSource(new Resolution(320, 240, 50));
maxTick.set(-1);
final Thread thread = getTask(screen);
thread.start();
while (tick.get() < 1) {
// Continue
}
Engine.terminate();
thread.join();
Assert.assertEquals(tick.get(), rendered.get());
final int expectedRate = screen.getConfig().getOutput().getRate();
Assert.assertTrue(String.valueOf(computed.get()), computed.get() <= expectedRate);
}
use of com.b3dgs.lionengine.Config in project lionengine by b3dgs.
the class LoopFrameSkippingTest method testLoop.
/**
* Test loop.
*
* @throws InterruptedException If error.
*/
@Test(timeout = 1000L)
public void testLoop() throws InterruptedException {
ScreenMock.setScreenWait(false);
final Screen screen = new ScreenMock(new Config(new Resolution(320, 240, 50), 16, true));
screen.getConfig().setSource(new Resolution(320, 240, 50));
final Thread thread = getTask(screen);
thread.start();
thread.join();
Assert.assertEquals(maxTick.get(), tick.get());
Assert.assertEquals(tick.get(), rendered.get());
final int expectedRate = screen.getConfig().getOutput().getRate();
Assert.assertTrue(String.valueOf(computed.get()), computed.get() <= expectedRate);
Assert.assertTrue(String.valueOf(computed.get()), computed.get() > 0);
}
Aggregations