package jfxtras.scene.control.agenda.icalendar.misc;
import java.time.LocalDate;
import java.time.temporal.Temporal;
import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Map;
import java.util.ResourceBundle;
import org.junit.Test;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.control.Label;
import javafx.util.Pair;
import jfxtras.internal.scene.control.skin.agenda.icalendar.base24hour.EditChoiceDialog;
import jfxtras.scene.control.agenda.icalendar.editors.ChangeDialogOption;
import jfxtras.scene.control.agenda.test.OSInfo;
import jfxtras.scene.control.agenda.test.OSInfo.OS;
import jfxtras.test.AssertNode;
import jfxtras.test.JFXtrasGuiTest;
import jfxtras.test.TestUtil;
public class ComponentChangeDialogTest extends JFXtrasGuiTest
{
private ResourceBundle resources;
private static final Map<ChangeDialogOption, Pair<Temporal,Temporal>> EXAMPLE_MAP = makeExampleMap();
private static Map<ChangeDialogOption, Pair<Temporal,Temporal>> makeExampleMap()
{
Map<ChangeDialogOption, Pair<Temporal,Temporal>> exampleMap = new LinkedHashMap<>();
exampleMap.put(ChangeDialogOption.ALL, new Pair<Temporal, Temporal>(LocalDate.of(2016, 5, 25), null));
exampleMap.put(ChangeDialogOption.ONE, new Pair<Temporal, Temporal>(LocalDate.of(2016, 5, 25), LocalDate.of(2016, 5, 25)));
exampleMap.put(ChangeDialogOption.THIS_AND_FUTURE, new Pair<Temporal, Temporal>(LocalDate.of(2016, 6, 25), null));
return exampleMap;
}
@Override
public Parent getRootNode()
{
resources = ResourceBundle.getBundle("jfxtras.ICalendarAgenda", Locale.getDefault());
return new Label();
}
@Test
public void canDisplayDialog()
{
TestUtil.runThenWaitForPaintPulse( () ->
{
EditChoiceDialog dialog = new EditChoiceDialog(EXAMPLE_MAP, resources);
dialog.show();
});
Node n = find("#editChoiceDialog");
double w = (OSInfo.MY_OS == OS.UNIX) ? 345.0 : 288.0;
double h = (OSInfo.MY_OS == OS.UNIX) ? 166.0 : 158.0;
//AssertNode.generateSource("n", n, null, false, jfxtras.test.AssertNode.A.XYWH);
new AssertNode(n).assertXYWH(0.0, 0.0, w, h, 0.01);
clickOn("#changeDialogCancelButton");
}
}