package jfxtras.internal.scene.control.skin.agenda.icalendar.base24hour.popup;
import static org.junit.Assert.assertEquals;
import java.time.LocalDate;
import java.time.LocalDateTime;
import org.junit.Test;
import jfxtras.icalendarfx.components.VEvent;
import jfxtras.internal.scene.control.skin.agenda.icalendar.base24hour.AgendaDateTimeUtilities;
import jfxtras.scene.control.agenda.icalendar.ICalendarStaticComponents;
public class RecurrenceRuleDescriptionTest
{
// Easy-to-read-summary tests for edit popup RRULE summary
@Test
public void canMakeRRuleSummaryString1()
{
VEvent v = ICalendarStaticComponents.getDaily6();
String summaryString = EditRecurrenceRuleVEventVBox.makeSummary(v.getRecurrenceRule().getValue(), v.getDateTimeStart().getValue());
String expectedString = "Every 2 days, until Dec 1, 2015";
assertEquals(expectedString, summaryString);
}
@Test
public void canMakeRRuleSummaryString2()
{
VEvent v = ICalendarStaticComponents.getYearly1();
String summaryString = EditRecurrenceRuleVEventVBox.makeSummary(v.getRecurrenceRule().getValue(), v.getDateTimeStart().getValue());
String expectedString = "Yearly on November 9";
assertEquals(expectedString, summaryString);
}
@Test
public void canMakeRRuleSummaryString3()
{
VEvent v = ICalendarStaticComponents.getMonthly1();
String summaryString = EditRecurrenceRuleVEventVBox.makeSummary(v.getRecurrenceRule().getValue(), v.getDateTimeStart().getValue());
String expectedString = "Monthly on day 9";
assertEquals(expectedString, summaryString);
}
@Test
public void canMakeRRuleSummaryString4()
{
VEvent v = ICalendarStaticComponents.getMonthly7();
String summaryString = EditRecurrenceRuleVEventVBox.makeSummary(v.getRecurrenceRule().getValue(), v.getDateTimeStart().getValue());
String expectedString = "Monthly on the third Monday";
assertEquals(expectedString, summaryString);
}
@Test
public void canMakeRRuleSummaryString5()
{
VEvent v = ICalendarStaticComponents.getWeekly1();
String summaryString = EditRecurrenceRuleVEventVBox.makeSummary(v.getRecurrenceRule().getValue(), v.getDateTimeStart().getValue());
String expectedString = "Weekly on Monday";
assertEquals(expectedString, summaryString);
}
@Test
public void canMakeRRuleSummaryString6()
{
VEvent v = ICalendarStaticComponents.getWeekly2();
String summaryString = EditRecurrenceRuleVEventVBox.makeSummary(v.getRecurrenceRule().getValue(), v.getDateTimeStart().getValue());
String expectedString = "Every 2 weeks on Monday, Wednesday, Friday";
assertEquals(expectedString, summaryString);
}
@Test
public void canMakeRRuleSummaryString7()
{
VEvent v = ICalendarStaticComponents.getWeekly5();
String summaryString = EditRecurrenceRuleVEventVBox.makeSummary(v.getRecurrenceRule().getValue(), v.getDateTimeStart().getValue());
String expectedString = "Every 2 weeks on Monday, Wednesday, Friday, 11 times";
assertEquals(expectedString, summaryString);
}
/* date-time ranges for edit and delete dialogs */
@Test
public void canMakeRangeToString1()
{
String dateTimeString = AgendaDateTimeUtilities.formatRange(LocalDateTime.of(2015, 11, 11, 10, 0), LocalDateTime.of(2015, 12, 25, 12, 0));
assertEquals("Wed, November 11, 2015 10:00 AM - Fri, December 25, 2015 12:00 PM", dateTimeString);
String dateString = AgendaDateTimeUtilities.formatRange(LocalDate.of(2015, 11, 9), LocalDate.of(2015, 11, 24));
assertEquals("Mon, November 9, 2015 - Tue, November 24, 2015", dateString);
String dateForeverString = AgendaDateTimeUtilities.formatRange(LocalDateTime.of(2015, 11, 9, 10, 0), null);
assertEquals("Mon, November 9, 2015 10:00 AM - forever", dateForeverString);
}
}