package rmblworx.tools.timey.gui;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import java.awt.SystemTray;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.loadui.testfx.categories.TestFX;
import rmblworx.tools.timey.event.TimeyEvent;
/*
* Copyright 2014-2015 Christian Raue
* MIT License http://opensource.org/licenses/mit-license.php
*/
/**
* GUI-Tests für das Hauptfenster.
* @author Christian Raue {@literal <christian.raue@gmail.com>}
*/
@Category(TestFX.class)
public class TimeyControllerTest extends FxmlGuiControllerTest {
/**
* {@inheritDoc}
*/
@Override
protected final String getFxmlFilename() {
return "Timey.fxml";
}
/**
* {@inheritDoc}
*/
@Override
protected final void controllerLoaded() {
((TimeyController) getController()).setStage(stage);
}
@Test
public final void testInitializedFields() throws IllegalAccessException {
super.testFxmlInitializedFields();
}
/**
* Testet das Hinzufügen des Tray-Symbols.
*/
@Test
public final void testTrayIconAdded() {
if (!SystemTray.isSupported()) {
// Test überspringen
return;
}
assertEquals(1, SystemTray.getSystemTray().getTrayIcons().length);
}
/**
* Testet die Verarbeitung eines Ereignisses.
*/
@Test
public final void testHandleEvent() {
final TimeyController controller = (TimeyController) getController();
// Ereignis auslösen
controller.handleEvent(mock(TimeyEvent.class));
waitForThreads();
// TODO sicherstellen, dass Ereignis verarbeitet wird
}
}