def test_parse_project_with_tags(self):
     # there are three formats for projects with tags, per TaskPaper v2.3.2
     # 1. colon at end
     # 2. colon before tags
     # 3. colon between tags
     valid_project_formats = [
         'project @tag:',
         'project: @tag',
         'project @tag: @tag2',
     ]
     for fmt in valid_project_formats:
         ti = TaskItem.parse(fmt)
         self.assertTrue(ti.is_project(), "did not accept '%s'" % (fmt, ))
 def test_parse_project_with_tags(self):
     # there are three formats for projects with tags, per TaskPaper v2.3.2
     # 1. colon at end
     # 2. colon before tags
     # 3. colon between tags
     valid_project_formats = [
         'project @tag:',
         'project: @tag',
         'project @tag: @tag2',
     ]
     for fmt in valid_project_formats:
         ti = TaskItem.parse(fmt)
         self.assertTrue(ti.is_project(), "did not accept '%s'" % (fmt,))
 def test_parse_note_with_tags(self):
     ti = TaskItem.parse('note @tag')
     self.assertTrue(ti.is_note())
 def test_parse_task_with_tags(self):
     ti = TaskItem.parse('- task @tag')
     self.assertTrue(ti.is_task())
 def test_parse_project_no_tags(self):
     ti = TaskItem.parse('project:')
     self.assertTrue(ti.is_project())
 def test_parse_note_with_tags(self):
     ti = TaskItem.parse('note @tag')
     self.assertTrue(ti.is_note())
 def test_parse_task_with_tags(self):
     ti = TaskItem.parse('- task @tag')
     self.assertTrue(ti.is_task())
 def test_parse_project_no_tags(self):
     ti = TaskItem.parse('project:')
     self.assertTrue(ti.is_project())