def test_getTaskOccurrenceForDate_recurrent_far(self): taskDate = datetime.datetime(2020, 5, 17) task = Task() task.dueDateTime = taskDate task.recurrence = Recurrent() task.recurrence.setDaily(1) entry = task.getTaskOccurrenceForDate(taskDate.date() + timedelta(days=3333 * 366)) self.assertEqual(entry.task, task) self.assertEqual(entry.offset, 1219878)
def test_getTaskOccurrenceForDate_recurrent_endDate(self): taskDate = datetime.datetime(2020, 5, 17) task = Task() task.dueDateTime = taskDate task.recurrence = Recurrent() task.recurrence.setDaily(1) task.recurrence.endDate = taskDate.date() + timedelta(days=5) entry = task.getTaskOccurrenceForDate(taskDate.date() + timedelta(days=9)) self.assertEqual(entry, None)
def test_setCompleted_recurrent(self): taskDate = datetime.date(2020, 5, 17) task = Task() task.recurrence = Recurrent() task.recurrence.setDaily() task.setDefaultDate(taskDate) task.setCompleted() self.assertEqual(task.completed, 0) self.assertEqual(task.occurrenceStart.date(), datetime.date(2020, 5, 18)) self.assertEqual(task.occurrenceDue.date(), datetime.date(2020, 5, 18))
def test_getTaskOccurrencesForDate_recurrent_completed(self): manager = Manager() task = manager.addTask() todayDate = datetime.datetime.today() dueDate = todayDate.replace(day=1, hour=12) task.dueDateTime = dueDate task.recurrence = Recurrent() task.recurrence.setWeekly() task.setCompleted() ## mark first occurrence completed tasksList = manager.getTaskOccurrencesForDate(dueDate.date()) self.assertEqual(len(tasksList), 1)
def test_findRecurrentOffset(self): recurrent = Recurrent() recurrent.setYearly( 1 ) refDate = date( 2020, 5, 2 ) targetDate = refDate + recurrent.getDateOffset() offset = recurrent.findRecurrentOffset(refDate, targetDate) self.assertEqual( offset, 1 )
def test_getTaskOccurrenceForDate_recurrent_completed(self): task = Task() todayDate = datetime.datetime.today() dueDate = todayDate.replace(day=8, hour=12) task.dueDateTime = dueDate task.recurrence = Recurrent() task.recurrence.setWeekly() task.setCompleted() ## mark first occurrence completed occurrence1 = task.getTaskOccurrenceForDate(dueDate.date() - timedelta(days=7)) self.assertEqual(occurrence1, None) occurrence2 = task.getTaskOccurrenceForDate(dueDate.date()) self.assertNotEqual(occurrence2, None) self.assertEqual(occurrence2.isCompleted(), True) occurrence3 = task.getTaskOccurrenceForDate(dueDate.date() + timedelta(days=7)) self.assertNotEqual(occurrence3, None) self.assertEqual(occurrence3.isCompleted(), False)
task1 = dataObject.addTask() task1.title = "Expired task 1" task1.startDateTime = refDate - timedelta( days=2 ) task1.dueDateTime = task1.startDateTime + timedelta( hours=5 ) task1 = dataObject.addTask() task1.title = "Completed task 1" task1.startDateTime = refDate - timedelta( days=2 ) task1.dueDateTime = task1.startDateTime + timedelta( hours=5 ) task1.setCompleted() recurrentDate = refDate.replace( day=20 ) + timedelta( hours=2 ) recurrentTask = dataObject.addTask() recurrentTask.title = "Recurrent task 1" recurrentTask.dueDateTime = recurrentDate recurrentTask.recurrence = Recurrent() recurrentTask.recurrence.setDaily() recurrentTask.recurrence.endDate = recurrentDate + timedelta( days=3 ) recurrentTask = dataObject.addTask() recurrentTask.title = "Recurrent task 2" recurrentTask.dueDateTime = refDate.replace( day=1, hour=22 ) recurrentTask.recurrence = Recurrent() recurrentTask.recurrence.setWeekly() recurrentTask.setCompleted() ## mark first occurrence completed calendar = MonthCalendar() calendar.showCompletedTasks() calendar.connectData( dataObject ) calendar.resize( 1024, 768 ) calendar.show()
def prepare_example_data(dataManager: Manager): taskDate = datetime.today() - timedelta(seconds=5) task1 = dataManager.addNewTaskDateTime( datetime.today() + timedelta(days=1), "task 1") task1.completed = 50 task1.description = ( "<a href=\"http://www.google.com\">xxx</a> <br> " "<a href=\"file:///media/E/bluetooth.txt\">yyy</a> <br> " "<a href=\"file:///media/E/Pani1.jpg\">zzz</a>") task1.addSubItem(Task("Subtask")) completedTask = dataManager.addNewTaskDateTime( taskDate + timedelta(days=7), "completed task") completedTask.setCompleted() ## add far task dataManager.addNewTaskDateTime(datetime.today() + timedelta(days=360), "far task") recurrentDate = taskDate.replace(day=20, hour=12) recurrentTask = dataManager.addNewTaskDateTime(recurrentDate, "recurrent task 1") recurrentTask.recurrence = Recurrent() recurrentTask.recurrence.setDaily() recurrentTask.recurrence.endDate = recurrentDate.date() + timedelta(days=2) reminder = recurrentTask.addReminder() reminder.setDays(1) task2 = dataManager.addNewTaskDateTime( recurrentTask.occurrenceStart.replace(hour=11), "task 2") task2.dueDateTime = task2.occurrenceDue.replace(hour=20) task3 = dataManager.addTask() task3.title = "task 3" task3.dueDateTime = taskDate.replace(hour=20) + timedelta(days=90) task3.startDateTime = task3.dueDateTime - timedelta(days=1) subtask1 = task3.addSubTask() subtask1.title = "subtask 1" subtask1.startDateTime = task3.startDateTime - timedelta(days=50) subtask1.dueDateTime = task3.dueDateTime - timedelta(days=40) completedTask = dataManager.addNewTaskDateTime( task2.occurrenceStart - timedelta(hours=3), "completed task 2") completedTask.setCompleted() recurrentDate2 = datetime.today().replace(day=15) + timedelta(days=30) recurrentTask2 = dataManager.addNewTaskDateTime(recurrentDate2, "recurrent task 2") recurrentTask2.setDeadline() recurrentTask2.recurrence = Recurrent() recurrentTask2.recurrence.setMonthly() recurrentSub = recurrentTask2.addSubTask() recurrentSub.title = "recurrent subtask 1" recurrentSub.setDeadline() recurrentSub.dueDateTime = recurrentTask2.dueDateTime - timedelta(days=1) recurrentSub.recurrence = Recurrent() recurrentSub.recurrence.setMonthly() deadlineDate = datetime.today() + timedelta(seconds=10) deadlineTaks = dataManager.addNewDeadlineDateTime(deadlineDate, "expired task 1") reminder = deadlineTaks.addReminder() reminder.setMillis(5000) remindedTask = dataManager.addNewTaskDateTime( datetime.today() + timedelta(hours=2), "reminded task 1") reminder = remindedTask.addReminder() reminder.setDays(30) todo1 = dataManager.addNewToDo("ToDo example A") todo1.description = "a description" todo1.priority = 3 todo1.completed = 33 todo1 = dataManager.addNewToDo("ToDo example B") todo1.description = "a description" todo1.priority = 3 todo1.completed = 33 todo1 = dataManager.addNewToDo("ToDo example C") todo1.description = "a description" todo1.priority = 3 todo1.completed = 33 todo2 = dataManager.addNewToDo("ToDo example 2") todo2.description = "a description" todo2.priority = 5 todo2.completed = 20 todo2 = dataManager.addNewToDo("ToDo example 3") todo2.description = "a description" todo2.priority = 1 todo2.completed = 0 todoCompleted = dataManager.addNewToDo("completed ToDo 1") todoCompleted.description = "a description" todoCompleted.priority = 1 todoCompleted.completed = 100 dataManager.addNote("note 2", "note content")