use of com.b3dgs.lionengine.graphic.ScreenMock in project lionengine by b3dgs.
the class LoopFrameSkippingTest method testSlowRender.
/**
* Test with slow rendering
*
* @throws InterruptedException If error.
*/
@Test(timeout = 1000L)
public void testSlowRender() 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));
pause.set(screen.getConfig().getSource().getRate());
final Thread thread = getTask(screen);
thread.start();
thread.join();
Assert.assertTrue(String.valueOf(tick.get() + " " + maxTick.get()), tick.get() >= maxTick.get());
final boolean min = rendered.get() >= Math.round(Math.floor(tick.get() / 2.0));
final boolean max = rendered.get() <= Math.round(Math.ceil(tick.get() / 2.0));
Assert.assertTrue(String.valueOf(tick.get() + " " + rendered.get()), min || max);
final int expectedRate = screen.getConfig().getOutput().getRate();
Assert.assertTrue(String.valueOf(computed.get()), computed.get() < expectedRate / 2);
Assert.assertTrue(String.valueOf(computed.get()), computed.get() > expectedRate / 2 - expectedRate);
}
use of com.b3dgs.lionengine.graphic.ScreenMock in project lionengine by b3dgs.
the class LoopFrameSkippingTest method testNoSyncFullscreen.
/**
* Test without sync full screen.
*
* @throws InterruptedException If error.
*/
@Test(timeout = 1000L)
public void testNoSyncFullscreen() throws InterruptedException {
ScreenMock.setScreenWait(false);
final Screen screen = new ScreenMock(new Config(new Resolution(320, 240, 0), 16, false));
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);
}
use of com.b3dgs.lionengine.graphic.ScreenMock in project lionengine by b3dgs.
the class LoopLockedTest 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());
final int expectedRate = screen.getConfig().getOutput().getRate();
Assert.assertTrue(String.valueOf(computed.get()), computed.get() > expectedRate);
}
use of com.b3dgs.lionengine.graphic.ScreenMock in project lionengine by b3dgs.
the class LoopLockedTest method testNoSyncFullscreen.
/**
* Test without sync
*
* @throws InterruptedException If error.
*/
@Test(timeout = 1000L)
public void testNoSyncFullscreen() throws InterruptedException {
ScreenMock.setScreenWait(false);
final Screen screen = new ScreenMock(new Config(new Resolution(320, 240, 0), 16, false));
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);
}
use of com.b3dgs.lionengine.graphic.ScreenMock in project lionengine by b3dgs.
the class LoopLockedTest method testUnready.
/**
* Test with not ready screen.
*
* @throws InterruptedException If error.
*/
@Test(timeout = 1000L)
public void testUnready() throws InterruptedException {
ScreenMock.setScreenWait(true);
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();
latch.await();
loop.stop();
thread.join();
Assert.assertEquals(0, tick.get());
Assert.assertEquals(0, rendered.get());
Assert.assertEquals(-1, computed.get());
}
Aggregations