def test_freeblock_longer_range(self): """ Tests for full day (within hour range) return when less days have events than those in the freeblock range. """ begin_time = datetime.time(9,0) end_time = datetime.time(17,0) begin_date = datetime.date(2015, 9, 1) end_date = datetime.date(2015, 9, 18) oneWeekAgenda = Agenda() for day in range(10,19): oneWeekAgenda.append(Appt(datetime.date(2015, 9, day),datetime.time(12, 30), datetime.time(14,20),"12:30-2:20pm")) expected = Agenda() for day in range(1,10): expected.append(Appt(datetime.date(2015, 9, day),datetime.time(9, 0), datetime.time(17,0),"all day")) for day in range(10,19): expected.append(Appt(datetime.date(2015, 9, day),datetime.time(9, 0), datetime.time(12, 30),"9:00-12:30am")) expected.append(Appt(datetime.date(2015, 9, day),datetime.time(14,20), datetime.time(17, 0),"2:20pm-5pm")) expected.normalize() result = oneWeekAgenda.freeblocks(begin_date, end_date, begin_time, end_time) self.assertEqual(result.__len__(),expected.__len__()) self.assertTrue(result.__eq__(expected))
def test_no_free_time(self): """ Tests that Agendas busy during the times a person is free returns no possible meeting times. """ begin_time = datetime.time(9,0) end_time = datetime.time(17,0) begin_date = datetime.date(2015, 9, 2) end_date = datetime.date(2015, 9, 10) noFreeTimeAgenda = Agenda() self.assertEqual(noFreeTimeAgenda.__len__(),0) for day in range(2,11): noFreeTimeAgenda.append(Appt(datetime.date(2015, 9, day),datetime.time(9, 0), datetime.time(17, 45),"All Hours")) noFreeTimeAgenda.append(Appt(datetime.date(2015, 9, day),datetime.time(0, 0), datetime.time(23, 59),"All Hours")) self.assertEqual(noFreeTimeAgenda.__len__(),18) result = noFreeTimeAgenda.freeblocks(begin_date, end_date, begin_time, end_time) self.assertEqual(result.__len__(),0)