@Test public void testPlainTimestamps() throws IOException { String str = "* Node\n" + "CLOSED: [2012-12-29 Sat 08:05] DEADLINE: <2012-12-28 Fri> SCHEDULED: <2012-12-27 Thu>\n" + "<2018-01-15 Mon> some text between timestamps <2018-01-16 Tue>\n" + "Blabla some other text in front <2018-01-17 Wed> text after\n" + "\n\n" + "[2018-01-18 Thu]\n\n"; OrgParsedFile file = parserBuilder.setInput(str).build().parse(); List<OrgRange> timestamps = file.getHeadsInList().get(0).getHead().getTimestamps(); Assert.assertEquals(4, timestamps.size()); Assert.assertEquals("<2018-01-15 Mon>", timestamps.get(0).toString()); Assert.assertEquals("<2018-01-16 Tue>", timestamps.get(1).toString()); Assert.assertEquals("<2018-01-17 Wed>", timestamps.get(2).toString()); Assert.assertEquals("[2018-01-18 Thu]", timestamps.get(3).toString()); }
@Test public void testTimestampMultiline() { OrgContent o = new OrgContent(); o.append("<2000-01-01 10:10>\n<2001-01-01 10:10>"); Assert.assertEquals(2, o.getTimestamps().size()); Assert.assertEquals("<2000-01-01 10:10>", o.getTimestamps().get(0).toString()); Assert.assertEquals("<2001-01-01 10:10>", o.getTimestamps().get(1).toString()); }
@Test public void testTimestamp() { OrgContent o = new OrgContent(); o.append("<2000-01-01 10:10>"); Assert.assertEquals(1, o.getTimestamps().size()); Assert.assertEquals("<2000-01-01 10:10>", o.getTimestamps().get(0).toString()); }
@Test public void testPlainTimestampsNoHeader() throws IOException { String str = "* Node\n" + "<2018-01-15 Mon>\n"; OrgParsedFile file = parserBuilder.setInput(str).build().parse(); List<OrgRange> timestamps = file.getHeadsInList().get(0).getHead().getTimestamps(); Assert.assertEquals(1, timestamps.size()); Assert.assertEquals("<2018-01-15 Mon>", timestamps.get(0).toString()); }
@Test public void testReparse() { OrgContent o = new OrgContent(); o.append("<2000-01-01 10:10>"); o.set("\n\n<2001-01-01 10:10>"); Assert.assertEquals(1, o.getTimestamps().size()); Assert.assertEquals("<2001-01-01 10:10>", o.getTimestamps().get(0).toString()); }
@Test public void testFromNoteToDoneWithRepeater() { StateChangeLogic scl = new StateChangeLogic(new HashSet<>(Arrays.asList("DONE"))); scl.setState("DONE", "NOTE", OrgRange.parse("<2018-02-06 Tue +7d>"), null); assertEquals("NOTE", scl.getState()); assertEquals("<2018-02-13 Tue +7d>", scl.getScheduled().toString()); assertNull(scl.getClosed()); }
@Test public void testFromNoteToTodoWithRepeater() { StateChangeLogic scl = new StateChangeLogic(new HashSet<>(Arrays.asList("DONE"))); scl.setState("NEXT", "NOTE", OrgRange.parse("<2018-02-06 Tue +7d>"), null); assertEquals("NEXT", scl.getState()); assertEquals("<2018-02-06 Tue +7d>", scl.getScheduled().toString()); assertNull(scl.getClosed()); } }
@Test public void testFromString1() { OrgRange time = OrgRange.parse("[2000-01-01]--<2000-02-02 10:20>"); Assert.assertNotNull(time); Assert.assertNotNull(time.getStartTime()); Assert.assertNotNull(time.getEndTime()); Assert.assertEquals("[2000-01-01]", time.getStartTime().toString()); Assert.assertFalse(time.getStartTime().isActive()); Assert.assertEquals("<2000-02-02 10:20>", time.getEndTime().toString()); Assert.assertTrue(time.getEndTime().isActive()); Assert.assertEquals("[2000-01-01]--<2000-02-02 10:20>", time.toString()); }