package com.orgzly.android.reminders; import com.orgzly.android.OrgzlyTest; import org.joda.time.Instant; import org.joda.time.LocalDateTime; import org.junit.Test; import java.util.List; import static junit.framework.Assert.assertEquals; public class ReminderServiceTest extends OrgzlyTest { @Test public void testNotesWithTimesSkipDoneState() { shelfTestUtils.setupBook("notebook", "* Note 1\n"+ "SCHEDULED: <2017-03-20>\n" + "* DONE Note 2\n"+ "SCHEDULED: <2017-03-20>\n" + "* Note 3"); Instant now = Instant.parse("2017-03-15"); List<ReminderService.NoteWithTime> notes = ReminderService.getNotesWithTimeInInterval(context, now, null); assertEquals(1, notes.size()); } @Test public void testNotesWithTimesWithRepeater() { shelfTestUtils.setupBook("notebook", "* Note 1\n"+ "SCHEDULED: <2017-03-10 Fri +1w>\n" + "* Note 2\n"+ "SCHEDULED: <2017-03-20 Mon 16:00>\n" + "* Note 3"); Instant now = Instant.parse("2017-03-15T13:00:00"); // Wed List<ReminderService.NoteWithTime> notes = ReminderService.getNotesWithTimeInInterval(context, now, null); assertEquals(2, notes.size()); assertEquals("Note 1", notes.get(0).title); assertEquals("2017-03-17T09:00:00", new LocalDateTime(notes.get(0).time).toString("yyyy-MM-dd'T'HH:mm:ss")); assertEquals("Note 2", notes.get(1).title); assertEquals("2017-03-20T16:00:00", new LocalDateTime(notes.get(1).time).toString("yyyy-MM-dd'T'HH:mm:ss")); } }