116 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env python3
 | |
| 
 | |
| import unittest
 | |
| import datetime
 | |
| from Task import Task as T
 | |
| 
 | |
| 
 | |
| class TaskTestCase(unittest.TestCase):
 | |
|     def test_basic(self):
 | |
|         task = T("task")
 | |
|         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, [])
 | |
| 
 | |
|     def test_basic_done(self):
 | |
|         task = T("x basic test task")
 | |
|         self.assertEqual(task.done, True)
 | |
|         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, [])
 | |
| 
 | |
|     def test_prioritized(self):
 | |
|         task = T("(A) prioritized test task")
 | |
|         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):
 | |
|         task = T("(AA) prioritized test task")
 | |
|         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, [])
 | |
| 
 | |
|     def test_prioritized_done(self):
 | |
|         task = T("x (A) prioritized test task")
 | |
|         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):
 | |
|         task = T("2018-06-24 test task")
 | |
|         self.assertEqual(task.done, False)
 | |
|         self.assertEqual(task.priority, '{')
 | |
|         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):
 | |
|         task = T("x 2018-06-24 2018-05-24 test task")
 | |
|         self.assertEqual(task.done, True)
 | |
|         self.assertEqual(task.priority, '{')
 | |
|         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):
 | |
|         task = T("x (B) 2018-06-24 2018-05-24 test task")
 | |
|         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):
 | |
|         task = T("special task special:value")
 | |
|         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, [{"special": "value"}])
 | |
| 
 | |
|     def test_specials_with_colons(self):
 | |
|         task = T("give muffin her pen back due:2028-07-10T14:28:15Z+0100")
 | |
|         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"}])
 | |
| 
 | |
| 
 | |
| unittest.main()
 |