class Divisor implements GameLifeCycle {

    @Override
    public void launch() {
        gameContext.setLimiterAvailable();
        final Target target;
        final ImageLibrary imageLibrary;


        if (isRabbit) {
            imageLibrary = ImageUtils.createCustomizedImageLibrary(null, "divisor/rabbit/images");
            initBackground();
            gameContext.resetBordersToFront();
        } else {
            imageLibrary = ImageUtils.createImageLibrary(Utils.getImagesSubdirectory("portraits"));
        }

        this.stats.notifyNewRoundReady();
        gameContext.getGazeDeviceManager().addStats(stats);
        stats.incrementNumberOfGoalsToReach(15);

         target = new Target(gameContext, stats, imageLibrary, 0,System.currentTimeMillis(), this,
            this.gameContext.getRandomPositionGenerator().newRandomPosition(100), isRabbit);

        gameContext.getChildren().add(target);
        gameContext.firstStart();
    }

}

class DivisorTest {

    @Mock
    private IGameContext mockGameContext;
    @Mock
    private Configuration mockConfiguration;
    @Mock
    private GamePanelDimensionProvider mockProvider;
    @Mock
    private BackgroundStyle mockBackgroundStyle;
    @Mock
    private Stats mockStats;
    private ObservableList<Node> children;
    private final String sep;
    private final String localDataFolder;

    @Test
    void shouldLaunchRabbits() {

        Divisor divisor = new Divisor(mockGameContext, mockStats, true);

        divisor.launch();

        verify(mockProvider, atLeastOnce()).getDimension2D();
        assertEquals(2, children.size());

        Target target = (Target) children.get(1);
        assertTrue(target.getImgLib().pickRandomImage().getUrl().contains("rabbit"));
    }

}