2018-06-24 17:34:09 +01:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
import unittest
|
|
|
|
import datetime
|
|
|
|
from Task import Task as T
|
|
|
|
|
|
|
|
|
|
|
|
class TaskTestCase(unittest.TestCase):
|
|
|
|
def test_basic(self):
|
2018-07-11 20:28:05 +01:00
|
|
|
text = "task"
|
|
|
|
task = T(text)
|
|
|
|
self.assertEqual(str(task), text)
|
2018-06-24 17:34:09 +01:00
|
|
|
self.assertEqual(task.done, False)
|
2018-07-10 19:04:31 +01:00
|
|
|
self.assertEqual(task.priority, '{')
|
2018-06-24 17:34:09 +01:00
|
|
|
self.assertEqual(task.completion_date, None)
|
|
|
|
self.assertEqual(task.creation_date, None)
|
|
|
|
self.assertEqual(task.projects, [])
|
|
|
|
self.assertEqual(task.contexts, [])
|
|
|
|
self.assertEqual(task.specials, [])
|
|
|
|
|
|
|
|
def test_basic_done(self):
|
2018-07-11 20:28:05 +01:00
|
|
|
text = "x basic test task"
|
|
|
|
task = T(text)
|
|
|
|
self.assertEqual(str(task), text)
|
2018-06-24 17:34:09 +01:00
|
|
|
self.assertEqual(task.done, True)
|
2018-07-10 19:04:31 +01:00
|
|
|
self.assertEqual(task.priority, '{')
|
2018-06-24 17:34:09 +01:00
|
|
|
self.assertEqual(task.completion_date, None)
|
|
|
|
self.assertEqual(task.creation_date, None)
|
|
|
|
self.assertEqual(task.projects, [])
|
|
|
|
self.assertEqual(task.contexts, [])
|
|
|
|
self.assertEqual(task.specials, [])
|
|
|
|
|
|
|
|
def test_prioritized(self):
|
2018-07-11 20:28:05 +01:00
|
|
|
text = "(A) prioritized test task"
|
|
|
|
task = T(text)
|
|
|
|
self.assertEqual(str(task), text)
|
2018-06-24 17:34:09 +01:00
|
|
|
self.assertEqual(task.done, False)
|
|
|
|
self.assertEqual(task.priority, 'A')
|
|
|
|
self.assertEqual(task.completion_date, None)
|
|
|
|
self.assertEqual(task.creation_date, None)
|
|
|
|
self.assertEqual(task.projects, [])
|
|
|
|
self.assertEqual(task.contexts, [])
|
|
|
|
self.assertEqual(task.specials, [])
|
|
|
|
|
|
|
|
def test_prioritized_ignore_incorrect(self):
|
2018-07-11 20:28:05 +01:00
|
|
|
text = "(AA) prioritized test task"
|
|
|
|
task = T(text)
|
|
|
|
self.assertEqual(str(task), text)
|
2018-06-24 17:34:09 +01:00
|
|
|
self.assertEqual(task.done, False)
|
2018-07-10 19:04:31 +01:00
|
|
|
self.assertEqual(task.priority, '{')
|
2018-06-24 17:34:09 +01:00
|
|
|
self.assertEqual(task.completion_date, None)
|
|
|
|
self.assertEqual(task.creation_date, None)
|
|
|
|
self.assertEqual(task.projects, [])
|
|
|
|
self.assertEqual(task.contexts, [])
|
|
|
|
self.assertEqual(task.specials, [])
|
|
|
|
|
|
|
|
def test_prioritized_done(self):
|
2018-07-11 20:28:05 +01:00
|
|
|
text = "x (A) prioritized test task"
|
|
|
|
task = T(text)
|
|
|
|
self.assertEqual(str(task), text)
|
2018-06-24 17:34:09 +01:00
|
|
|
self.assertEqual(task.done, True)
|
|
|
|
self.assertEqual(task.priority, 'A')
|
|
|
|
self.assertEqual(task.completion_date, None)
|
|
|
|
self.assertEqual(task.creation_date, None)
|
|
|
|
self.assertEqual(task.projects, [])
|
|
|
|
self.assertEqual(task.contexts, [])
|
|
|
|
self.assertEqual(task.specials, [])
|
|
|
|
|
|
|
|
def test_with_creation_date(self):
|
2018-07-11 20:28:05 +01:00
|
|
|
text = "2018-06-24 test task"
|
|
|
|
task = T(text)
|
|
|
|
self.assertEqual(str(task), text)
|
2018-06-24 17:34:09 +01:00
|
|
|
self.assertEqual(task.done, False)
|
2018-07-10 19:04:31 +01:00
|
|
|
self.assertEqual(task.priority, '{')
|
2018-06-24 17:34:09 +01:00
|
|
|
self.assertEqual(task.completion_date, None)
|
|
|
|
self.assertEqual(task.creation_date,
|
|
|
|
datetime.datetime(2018, 6, 24, 0, 0))
|
|
|
|
self.assertEqual(task.projects, [])
|
|
|
|
self.assertEqual(task.contexts, [])
|
|
|
|
self.assertEqual(task.specials, [])
|
|
|
|
|
|
|
|
def test_with_creation_and_completion_date(self):
|
2018-07-11 20:28:05 +01:00
|
|
|
text = "x 2018-06-24 2018-05-24 test task"
|
|
|
|
task = T(text)
|
|
|
|
self.assertEqual(str(task), text)
|
2018-06-24 17:34:09 +01:00
|
|
|
self.assertEqual(task.done, True)
|
2018-07-10 19:04:31 +01:00
|
|
|
self.assertEqual(task.priority, '{')
|
2018-06-24 17:34:09 +01:00
|
|
|
self.assertEqual(task.completion_date,
|
|
|
|
datetime.datetime(2018, 6, 24, 0, 0))
|
|
|
|
self.assertEqual(task.creation_date,
|
|
|
|
datetime.datetime(2018, 5, 24, 0, 0))
|
|
|
|
self.assertEqual(task.projects, [])
|
|
|
|
self.assertEqual(task.contexts, [])
|
|
|
|
self.assertEqual(task.specials, [])
|
|
|
|
|
|
|
|
def test_with_creation_and_completion_and_priority_date(self):
|
2018-07-11 20:28:05 +01:00
|
|
|
text = "x (B) 2018-06-24 2018-05-24 test task"
|
|
|
|
task = T(text)
|
|
|
|
self.assertEqual(str(task), text)
|
2018-06-24 17:34:09 +01:00
|
|
|
self.assertEqual(task.done, True)
|
|
|
|
self.assertEqual(task.priority, 'B')
|
|
|
|
self.assertEqual(task.completion_date,
|
|
|
|
datetime.datetime(2018, 6, 24, 0, 0))
|
|
|
|
self.assertEqual(task.creation_date,
|
|
|
|
datetime.datetime(2018, 5, 24, 0, 0))
|
|
|
|
self.assertEqual(task.projects, [])
|
|
|
|
self.assertEqual(task.contexts, [])
|
|
|
|
self.assertEqual(task.specials, [])
|
|
|
|
|
|
|
|
def test_special(self):
|
2018-07-11 20:28:05 +01:00
|
|
|
text = "special task special:value"
|
|
|
|
task = T(text)
|
|
|
|
self.assertEqual(str(task), text)
|
2018-06-24 17:34:09 +01:00
|
|
|
self.assertEqual(task.done, False)
|
2018-07-10 19:04:31 +01:00
|
|
|
self.assertEqual(task.priority, '{')
|
2018-06-24 17:34:09 +01:00
|
|
|
self.assertEqual(task.completion_date, None)
|
|
|
|
self.assertEqual(task.creation_date, None)
|
|
|
|
self.assertEqual(task.projects, [])
|
|
|
|
self.assertEqual(task.contexts, [])
|
|
|
|
self.assertEqual(task.specials, [{"special": "value"}])
|
|
|
|
|
2018-07-11 19:38:13 +01:00
|
|
|
def test_specials_with_colons(self):
|
2018-07-11 20:28:05 +01:00
|
|
|
text = "give muffin her pen back due:2028-07-10T14:28:15Z+0100"
|
|
|
|
task = T(text)
|
|
|
|
self.assertEqual(str(task), text)
|
2018-07-11 19:38:13 +01:00
|
|
|
self.assertEqual(task.done, False)
|
|
|
|
self.assertEqual(task.priority, '{')
|
|
|
|
self.assertEqual(task.completion_date, None)
|
|
|
|
self.assertEqual(task.creation_date, None)
|
|
|
|
self.assertEqual(task.projects, [])
|
|
|
|
self.assertEqual(task.contexts, [])
|
|
|
|
self.assertEqual(task.specials, [{"due": "2028-07-10T14:28:15Z+0100"}])
|
|
|
|
|
2018-06-24 17:34:09 +01:00
|
|
|
|
|
|
|
unittest.main()
|