def setUp(self): """Create instances of Activity class with different tags.""" trackerian.Activity('Hour') trackerian.Activity.instances[0].end_activity() trackerian.Activity.instances[0].duration = datetime.timedelta(hours=1) trackerian.Activity.instances[0].tags = ['UPPER', 'lower'] trackerian.Activity('TwoHours') trackerian.Activity.instances[1].end_activity() trackerian.Activity.instances[1].duration = datetime.timedelta(hours=2) trackerian.Activity.instances[1].tags = ['upper'] trackerian.Activity('FiveHours') trackerian.Activity.instances[2].end_activity() trackerian.Activity.instances[2].duration = datetime.timedelta(hours=9) trackerian.Activity.instances[2].tags = ['Title']
def test_prints_message_if_no_activity_running(self, mocked_args, mocked_stdout): trackerian.Activity('Ended Activity') trackerian.Activity.instances[-1].end = True mocked_args.return_value = edit_args_dict('current', True) trackerian.main() self.assertIn('Not Tracking', mocked_stdout.getvalue())
def test_returns_accurate_timedelta_object(self, mocked_time): mocked_time.side_effect = [ datetime.datetime(2012, 12, 12, 12, 30, 00), datetime.datetime(2012, 12, 12, 13, 00, 00) ] trackerian.Activity('Check Duration') duration = trackerian.Activity.instances[-1].return_current_duration() self.assertEqual(duration, datetime.timedelta(0, 1800))
def setUp(self): """Create three instances of Activity class. First has a duration of 30 minutes. Second has same name and duration as first. Third is ongoing with a different name. """ half_hour = datetime.timedelta(minutes=30) trackerian.Activity('30Minutes') trackerian.Activity.instances[0].end_activity() trackerian.Activity.instances[0].duration = half_hour trackerian.Activity('30Minutes') trackerian.Activity.instances[1].end_activity() trackerian.Activity.instances[1].duration = half_hour trackerian.Activity('Variable')
def setUp(self): """Create instance and set start to known datetime object.""" trackerian.Activity('End Activity Tests') controlled_start_datetime = datetime.datetime(2010, 10, 10, 10, 10, 00) trackerian.Activity.instances[0].start = controlled_start_datetime
def setUp(self): """Instantiate two Activity members one finished one running.""" trackerian.Activity('Finished Activity') trackerian.Activity.instances[0].end_activity() trackerian.Activity('Running Activity')
def test_earlier_than_range_start_datetime_ignored(self, mocked_stdout): date_range_start = datetime.datetime.now() trackerian.Activity('Alone') trackerian.print_summary(date_range_start) self.assertNotIn('30Minutes', mocked_stdout.getvalue())
def test_name_grouping_case_insensitive(self, mocked_stdout): trackerian.Activity('30MINUTES') trackerian.print_summary(None) word_count = collections.Counter(mocked_stdout.getvalue().split()) self.assertTrue(word_count['30MINUTES'] == 0)
def test_activities_grouped_by_name(self, mocked_stdout): trackerian.Activity('30Minutes') trackerian.print_summary(None) word_count = collections.Counter(mocked_stdout.getvalue().split()) self.assertTrue(word_count['30Minutes'] == 1)
def test_calls_end_activity(self, mocked_args, mocked_end): trackerian.Activity('To End') mocked_args.return_value = edit_args_dict('finish', True) trackerian.main() self.assertTrue(mocked_end.called)
def test_start_earlier_than_arg_still_enumerated(self, mocked_stdout): date_range_start = datetime.datetime.now() trackerian.Activity('Printed') trackerian.print_list(date_range_start) self.assertIn('2', mocked_stdout.getvalue())
def setUp(self): """Create two instances of Activity class one of which has ended.""" trackerian.Activity('Finished Activity') trackerian.Activity.instances[0].end_activity() trackerian.Activity('Running Activity')
def setUp(self): """Instantiate two different activities""" trackerian.Activity('Activity Zero') trackerian.Activity('Activity One')
def setUp(self): """Instantiate an Activity.""" trackerian.Activity('Running')
def test_prints_current_duration_if_not_ended(self, mocked_args, mocked_stdout): trackerian.Activity('Current Activity') mocked_args.return_value = edit_args_dict('current', True) trackerian.main() self.assertIn('0:00:', mocked_stdout.getvalue())
def setUp(self): """Instantiate an ended and a running activity.""" trackerian.Activity('Finished') trackerian.Activity.instances[0].end_activity() trackerian.Activity('Running')
def setUp(self): """Instantiate an activity for editing.""" trackerian.Activity('To Edit') trackerian.Activity.instances[0].end_activity()
def test_ends_previous_process_if_not_ended(self, mocked_args): trackerian.Activity('Begin Should End This') mocked_args.return_value = edit_args_dict('begin', ['New', 'Actvity']) trackerian.main() self.assertTrue(trackerian.Activity.instances[0].end)