def test_phrase_reordering(self): """ This is not necessarily a desired feature compared to returning the same phrase the user entered, but it works for now. """ phrase = 'finances: r noon every 3mo Oil change next Tuesday *' target_phrase = 'finances: Oil change next Tuesday every 3mo r noon *' task = TaskParser(phrase) new_phrase = task.phrase_with() assert target_phrase == new_phrase
def test_complex_unchanged_phrase(self): phrase = 'fin: Oil change next Tuesday at noon repeat every 3mo *' task = TaskParser(phrase) new_phrase = task.phrase_with() assert phrase == new_phrase
class TestPhrases(): task = None title = 'a sample task' @pytest.fixture(autouse=True) def setup_task(self): phrase = self.title self.task = TaskParser(phrase) def test_simple_unchanged_phrase(self): phrase = self.task.phrase new_phrase = self.task.phrase_with() assert phrase == new_phrase def test_complex_unchanged_phrase(self): phrase = 'fin: Oil change next Tuesday at noon repeat every 3mo *' task = TaskParser(phrase) new_phrase = task.phrase_with() assert phrase == new_phrase def test_phrase_reordering(self): """ This is not necessarily a desired feature compared to returning the same phrase the user entered, but it works for now. """ phrase = 'finances: r noon every 3mo Oil change next Tuesday *' target_phrase = 'finances: Oil change next Tuesday every 3mo r noon *' task = TaskParser(phrase) new_phrase = task.phrase_with() assert target_phrase == new_phrase def test_change_title(self): new_title = 'new title' new_phrase = self.task.phrase_with(title=new_title) assert new_phrase == '%s' % (new_title) def test_change_taskfolder_title(self): new_taskfolder_title = 'new title' new_phrase = self.task.phrase_with(list_title=new_taskfolder_title) assert new_phrase == '%s: %s' % (new_taskfolder_title, self.title) def test_change_due_date(self): new_due_date = 'due tomorrow' new_phrase = self.task.phrase_with(due_date=new_due_date) assert new_phrase == '%s %s' % (self.title, new_due_date) def test_change_recurrence(self): new_recurrence = 'every month' new_phrase = self.task.phrase_with(recurrence=new_recurrence) assert new_phrase == '%s %s' % (self.title, new_recurrence) def test_change_reminder(self): new_reminder = 'r tomorrow at noon' new_phrase = self.task.phrase_with(reminder_date=new_reminder) assert new_phrase == '%s %s' % (self.title, new_reminder) def test_add_reminder_prompt(self): new_reminder = 'remind me ' new_phrase = self.task.phrase_with(reminder_date=True) assert new_phrase == '%s %s' % (self.title, new_reminder) def test_change_star(self): new_phrase = self.task.phrase_with(starred=True) assert new_phrase == '%s *' % (self.title) def test_prompt_taskfolder_title(self): new_phrase = self.task.phrase_with(list_title=True) assert new_phrase == ': %s' % (self.title) def test_prompt_due_date(self): new_phrase = self.task.phrase_with(due_date=True) assert new_phrase == '%s due ' % (self.title) def test_prompt_recurrence(self): new_phrase = self.task.phrase_with(recurrence=True) assert new_phrase == '%s every ' % (self.title) def test_add_hashtags(self): hashtag = 'Example' phrase = self.title task = TaskParser(phrase) new_phrase = self.task.phrase_with(hashtag=hashtag) assert new_phrase == '%s #%s' % (self.title, hashtag) def test_change_hashtags(self): hashtag = 'Example' phrase = '%s #' % self.title task = TaskParser(phrase) new_phrase = self.task.phrase_with(hashtag=hashtag) assert new_phrase == '%s #%s' % (self.title, hashtag) def test_remove_hashtag_prompt(self): hashtag = 'Example' phrase = '%s #%s' % (self.title, hashtag) task = TaskParser(phrase) new_phrase = self.task.phrase_with(hashtag=None) assert new_phrase == '%s' % (self.title)