package nl.tudelft.lifetiles.graph.controller; import static org.junit.Assert.assertEquals; import javafx.embed.swing.JFXPanel; import javafx.event.Event; import javafx.scene.control.Button; import javafx.scene.control.Slider; import javafx.scene.control.ToolBar; import javafx.scene.input.MouseButton; import javafx.scene.input.MouseEvent; import org.junit.Test; public class ZoombarTest { @Test public void clickOnPlus() { // Hack because javafx toolkit need to be initialized JFXPanel panel = new JFXPanel(); panel.contains(0, 0); Zoombar toolbar = new Zoombar(5, 10); ToolBar javafxBar = toolbar.getToolBar(); int initZoom = toolbar.getZoomlevel().intValue(); Button plus = (Button) javafxBar.getItems().get(0); Event.fireEvent(plus, new MouseEvent(MouseEvent.MOUSE_CLICKED, 0, 0, 0, 0, MouseButton.PRIMARY, 1, true, true, true, true, true, true, true, true, true, true, null)); assertEquals(initZoom + 1, toolbar.getZoomlevel().intValue(), 1e-10); } @Test public void clickOnMinus() { // Hack because javafx toolkit need to be initialized JFXPanel panel = new JFXPanel(); panel.contains(0, 0); Zoombar toolbar = new Zoombar(5, 10); ToolBar javafxBar = toolbar.getToolBar(); int initZoom = toolbar.getZoomlevel().intValue(); Button minus = (Button) javafxBar.getItems().get(2); Event.fireEvent(minus, new MouseEvent(MouseEvent.MOUSE_CLICKED, 0, 0, 0, 0, MouseButton.PRIMARY, 1, true, true, true, true, true, true, true, true, true, true, null)); assertEquals(initZoom - 1, toolbar.getZoomlevel().intValue(), 1e-10); } @Test public void scrolloneUpSlider() { // Hack because javafx toolkit need to be initialized JFXPanel panel = new JFXPanel(); panel.contains(0, 0); Zoombar toolbar = new Zoombar(5, 10); ToolBar javafxBar = toolbar.getToolBar(); int initZoom = toolbar.getZoomlevel().intValue(); Slider slider = (Slider) javafxBar.getItems().get(1); slider.valueProperty().set(slider.valueProperty().get() + 1); assertEquals(initZoom + 1, toolbar.getZoomlevel().intValue(), 1e-10); } @Test public void scrolloneDownSlider() { // Hack because javafx toolkit need to be initialized JFXPanel panel = new JFXPanel(); panel.contains(0, 0); Zoombar toolbar = new Zoombar(5, 10); ToolBar javafxBar = toolbar.getToolBar(); int initZoom = toolbar.getZoomlevel().intValue(); Slider slider = (Slider) javafxBar.getItems().get(1); slider.valueProperty().set(slider.valueProperty().get() - 1); assertEquals(initZoom - 1, toolbar.getZoomlevel().intValue(), 1e-10); } }