def test_timestamp_in_recursive_event_with_exceptions(self): etp = CalendarTimePeriod(Event.from_ical("""BEGIN:VEVENT DTSTART:20151010T100000Z DTEND:20151010T120000Z CREATED:20151010T100000Z RRULE:FREQ=DAILY;COUNT=5 EXDATE:20151011T100000Z,20151012T100000Z EXDATE:20151013T100000Z UID:123456 END:VEVENT""")) assert_that(etp.start(), is_(datetime(2015, 10, 10, 10, tzinfo=pytz.utc))) assert_that(etp.duration(), is_(timedelta(hours=2))) assert_that(datetime(2015, 10, 10, 11, tzinfo=pytz.utc) in etp, is_(True)) assert_that(datetime(2015, 10, 10, 9, tzinfo=pytz.utc) in etp, is_(False)) assert_that(datetime(2015, 10, 10, 13, tzinfo=pytz.utc) in etp, is_(False)) assert_that(datetime(2015, 10, 11, 11, tzinfo=pytz.utc) in etp, is_(False)) assert_that(datetime(2015, 10, 12, 11, tzinfo=pytz.utc) in etp, is_(False)) assert_that(datetime(2015, 10, 13, 11, tzinfo=pytz.utc) in etp, is_(False)) assert_that(datetime(2015, 10, 14, 11, tzinfo=pytz.utc) in etp, is_(True)) assert_that(datetime(2015, 10, 15, 11, tzinfo=pytz.utc) in etp, is_(False))
def test_timestamp_in_yearly_event(self): etp = CalendarTimePeriod(Event.from_ical("""BEGIN:VEVENT DTSTART;VALUE=DATE:20120702 DTEND;VALUE=DATE:20120703 DTSTAMP:20150925T043431Z SEQUENCE:2 CREATED:20110922T001534Z LAST-MODIFIED:20150706T153006Z RRULE:FREQ=YEARLY END:VEVENT""")) assert_that(etp.start(), is_(date(2012, 07, 02))) assert_that(etp.duration(), is_(timedelta(days=1))) assert_that(datetime(2012, 07, 02, 12) in etp, is_(True))
def test_timestamp_in_simple_event(self): etp = CalendarTimePeriod(Event.from_ical("""BEGIN:VEVENT DTSTART:20151010T100000Z DTEND:20151010T120000Z CREATED:20151010T100000Z UID:123456 END:VEVENT""")) assert_that(etp.start(), is_(datetime(2015, 10, 10, 10, tzinfo=pytz.utc))) assert_that(etp.duration(), is_(timedelta(hours=2))) assert_that(datetime(2015, 10, 10, 11, tzinfo=pytz.utc) in etp, is_(True)) assert_that(datetime(2015, 10, 10, 9, tzinfo=pytz.utc) in etp, is_(False)) assert_that(datetime(2015, 10, 10, 13, tzinfo=pytz.utc) in etp, is_(False))
def test_timestamp_in_timeless_event(self): etp = CalendarTimePeriod(Event.from_ical("""BEGIN:VEVENT DTSTART;VALUE=DATE:20151113 DTEND;VALUE=DATE:20151114 DTSTAMP:20150925T034508Z UID:9E783D57-BF34-47B0-86D8-FE6FD83B05A2 SEQUENCE:0 CREATED:20150922T191411Z LAST-MODIFIED:20150922T191823Z END:VEVENT""")) assert_that(etp.start(), is_(date(2015, 11, 13))) assert_that(etp.duration(), is_(timedelta(days=1))) assert_that(datetime(2015, 11, 12, 12, tzinfo=pytz.utc) in etp, is_(False)) assert_that(datetime(2015, 11, 13, 12, tzinfo=pytz.utc) in etp, is_(True)) assert_that(datetime(2015, 11, 14, 9, tzinfo=pytz.utc) in etp, is_(False))