package jfxtras.scene.control.agenda.icalendar.editors.revisor; import static org.junit.Assert.assertEquals; import java.time.LocalDateTime; import java.time.temporal.Temporal; import java.util.Collections; import java.util.List; import org.junit.Test; import jfxtras.icalendarfx.VCalendar; import jfxtras.icalendarfx.components.VEvent; import jfxtras.scene.control.agenda.icalendar.ICalendarStaticComponents; import jfxtras.scene.control.agenda.icalendar.editors.ChangeDialogOption; import jfxtras.scene.control.agenda.icalendar.editors.revisors.Reviser; import jfxtras.scene.control.agenda.icalendar.editors.revisors.ReviserVEvent; import jfxtras.scene.control.agenda.icalendar.editors.revisors.SimpleRevisorFactory; /** * Tests the {@link Reviser} ability to make iTIP publish messages to edit components. * * Tests CANCEL functionality * * @author David Bal * */ public class CancelRevisionTest { @Test public void canCancelEdit() { VCalendar mainVCalendar = new VCalendar(); VEvent vComponentOriginal = ICalendarStaticComponents.getDaily1(); mainVCalendar.addChild(vComponentOriginal); VEvent vComponentEdited = new VEvent(vComponentOriginal); vComponentEdited.setSummary("Edited summary"); Temporal startOriginalRecurrence = LocalDateTime.of(2016, 5, 16, 10, 0); Temporal startRecurrence = LocalDateTime.of(2016, 5, 16, 9, 0); Temporal endRecurrence = LocalDateTime.of(2016, 5, 16, 10, 30); ReviserVEvent reviser = ((ReviserVEvent) SimpleRevisorFactory.newReviser(vComponentEdited)) .withDialogCallback((m) -> ChangeDialogOption.CANCEL) .withEndRecurrence(endRecurrence) .withStartOriginalRecurrence(startOriginalRecurrence) .withStartRecurrence(startRecurrence) .withVComponentCopyEdited(vComponentEdited) .withVComponentOriginal(vComponentOriginal); List<VCalendar> iTIPMessages = reviser.revise(); assertEquals(Collections.emptyList(), iTIPMessages); } }