Beispiel #1
0
    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']
Beispiel #2
0
 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())
Beispiel #3
0
 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))
Beispiel #4
0
    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')
Beispiel #5
0
 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
Beispiel #6
0
 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')
Beispiel #7
0
 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())
Beispiel #8
0
 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)
Beispiel #9
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)
Beispiel #10
0
 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)
Beispiel #11
0
 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())
Beispiel #12
0
 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')
Beispiel #13
0
 def setUp(self):
     """Instantiate two different activities"""
     trackerian.Activity('Activity Zero')
     trackerian.Activity('Activity One')
Beispiel #14
0
 def setUp(self):
     """Instantiate an Activity."""
     trackerian.Activity('Running')
Beispiel #15
0
 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())
Beispiel #16
0
 def setUp(self):
     """Instantiate an ended and a running activity."""
     trackerian.Activity('Finished')
     trackerian.Activity.instances[0].end_activity()
     trackerian.Activity('Running')
Beispiel #17
0
 def setUp(self):
     """Instantiate an activity for editing."""
     trackerian.Activity('To Edit')
     trackerian.Activity.instances[0].end_activity()
Beispiel #18
0
 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)