Search in sources :

Example 6 with ScreenMock

use of com.b3dgs.lionengine.graphic.ScreenMock in project lionengine by b3dgs.

the class LoopLockedTest 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);
    Assert.assertTrue(String.valueOf(computed.get()), computed.get() > 1.0);
}
Also used : Screen(com.b3dgs.lionengine.graphic.Screen) Config(com.b3dgs.lionengine.Config) ScreenMock(com.b3dgs.lionengine.graphic.ScreenMock) Resolution(com.b3dgs.lionengine.Resolution) Test(org.junit.Test)

Example 7 with ScreenMock

use of com.b3dgs.lionengine.graphic.ScreenMock in project lionengine by b3dgs.

the class LoopLockedTest 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);
}
Also used : Screen(com.b3dgs.lionengine.graphic.Screen) Config(com.b3dgs.lionengine.Config) ScreenMock(com.b3dgs.lionengine.graphic.ScreenMock) Resolution(com.b3dgs.lionengine.Resolution) Test(org.junit.Test)

Example 8 with ScreenMock

use of com.b3dgs.lionengine.graphic.ScreenMock in project lionengine by b3dgs.

the class LoopUnlockedTest 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(computed.get()), computed.get() >= screen.getConfig().getOutput().getRate());
}
Also used : Screen(com.b3dgs.lionengine.graphic.Screen) Config(com.b3dgs.lionengine.Config) ScreenMock(com.b3dgs.lionengine.graphic.ScreenMock) Resolution(com.b3dgs.lionengine.Resolution) Test(org.junit.Test)

Example 9 with ScreenMock

use of com.b3dgs.lionengine.graphic.ScreenMock in project lionengine by b3dgs.

the class LoopUnlockedTest 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());
    Assert.assertTrue(String.valueOf(computed.get()), computed.get() > 0);
}
Also used : Screen(com.b3dgs.lionengine.graphic.Screen) Config(com.b3dgs.lionengine.Config) ScreenMock(com.b3dgs.lionengine.graphic.ScreenMock) Resolution(com.b3dgs.lionengine.Resolution) Test(org.junit.Test)

Example 10 with ScreenMock

use of com.b3dgs.lionengine.graphic.ScreenMock in project lionengine by b3dgs.

the class LoopExtrapolatedTest method testNoSyncFullscreen.

/**
 * Test without sync full screen.
 */
@Test
void testNoSyncFullscreen() {
    ScreenMock.setScreenWait(false);
    final Screen screen = new ScreenMock(new Config(new Resolution(320, 240, 0), 16, false));
    loop.notifyRateChanged(50);
    final Thread thread = getTask(screen);
    thread.start();
    assertTimeout(1000L, thread::join);
    assertEquals(maxTick.get(), tick.get());
    assertEquals(tick.get(), rendered.get());
    assertTrue(extrapolation.get().doubleValue() > 0, String.valueOf(extrapolation.get()));
    final int expectedRate = screen.getConfig().getOutput().getRate();
    assertTrue(computed.get() > expectedRate, String.valueOf(computed.get()));
}
Also used : Screen(com.b3dgs.lionengine.graphic.Screen) Config(com.b3dgs.lionengine.Config) ScreenMock(com.b3dgs.lionengine.graphic.ScreenMock) Resolution(com.b3dgs.lionengine.Resolution) Test(org.junit.jupiter.api.Test)

Aggregations

Config (com.b3dgs.lionengine.Config)45 Resolution (com.b3dgs.lionengine.Resolution)45 Screen (com.b3dgs.lionengine.graphic.Screen)45 ScreenMock (com.b3dgs.lionengine.graphic.ScreenMock)45 Test (org.junit.jupiter.api.Test)24 Test (org.junit.Test)21