Esempio n. 1
0
    def test_negative_weight_temperature_calculation(self):
        task = TaskFactory.build(min_weight=-10)
        completed_task = CompletedTaskFactory.build(task=task, weight=-1)

        self.assertEqual(task.temperature_calculation(today,
                                                      completed_task),
                         completed_task.weight)
Esempio n. 2
0
    def test_partial_weight_temperature_calculation(self):
        task = TaskFactory.build(max_weight=10)
        completed_task = CompletedTaskFactory.build(task=task, weight=5)

        self.assertEqual(task.temperature_calculation(today,
                                                      completed_task),
                         completed_task.weight)
Esempio n. 3
0
    def test_for_proper_weight_after_decay_bottoms_for_one_completion(self):
        today = today
        one_day = one_day
        task = TaskFactory.build(max_weight=10, min_weight=-1)
        completed_task_1 = CompletedTaskFactory.build(when=today-(2*one_day),
                                                      task=task, weight=4)
        completed_task_2 = CompletedTaskFactory.build(when=today-(5*one_day),
                                                      task=task, weight=1)

        self.assertEqual(task.temperature_calculation(today,
                                                      [completed_task_1,
                                                       completed_task_2]),
                         8)
        self.assertEqual(task.temperature_calculation(today-one_day,
                                                      [completed_task_1,
                                                       completed_task_2]),
                         9)
        self.assertEqual(task.temperature_calculation(today-(2*one_day),
                                                      [completed_task_1,
                                                       completed_task_2]),
                         10)
        self.assertEqual(task.temperature_calculation(today-(3*one_day),
                                                      [completed_task_1,
                                                       completed_task_2]),
                         6)
        self.assertEqual(task.temperature_calculation(today-(4*one_day),
                                                      [completed_task_1,
                                                       completed_task_2]),
                         6)
        self.assertEqual(task.temperature_calculation(today-(5*one_day),
                                                      [completed_task_1,
                                                       completed_task_2]),
                         6)
Esempio n. 4
0
    def test_proper_decay_for_completion_on_different_days(self):
        today = today
        one_day = one_day
        task = TaskFactory.build(max_weight=10)
        completed_task_1 = CompletedTaskFactory.build(when=today-(2*one_day),
                                                      task=task, weight=5)
        completed_task_2 = CompletedTaskFactory.build(when=today-(3*one_day),
                                                      task=task, weight=6)

        self.assertEqual(task.temperature_calculation(today,
                                                      [completed_task_1,
                                                       completed_task_2]),
                         8)
        self.assertEqual(task.temperature_calculation(today-one_day,
                                                      [completed_task_1,
                                                       completed_task_2]),
                         9)
        self.assertEqual(task.temperature_calculation(today-(2*one_day),
                                                      [completed_task_1,
                                                       completed_task_2]),
                         10)
        self.assertEqual(task.temperature_calculation(today-(3*one_day),
                                                      [completed_task_1,
                                                       completed_task_2]),
                         6)
Esempio n. 5
0
    def test_max_weight_temperature_calculation(self):
        task = TaskFactory.build(max_weight=5)
        completed_task = CompletedTaskFactory.build(task=task, weight=5)

        self.assertEqual(
            task.temperature_calculation(start=week_ago, end=today,
                                         completed_task_list=(completed_task,)),
            [0,0,0,0,0,0,task.max_weight])
Esempio n. 6
0
    def test_aggregates_respect_max_weight(self):
        task = TaskFactory.build(max_weight=10)
        completed_task_1 = CompletedTaskFactory.build(task=task, weight=5)
        completed_task_2 = CompletedTaskFactory.build(task=task, weight=8)

        self.assertEqual(task.temperature_calculation(today,
                                                      [completed_task_1,
                                                       completed_task_2]),
                         task.max_weight)
Esempio n. 7
0
    def test_aggregate_completed_tasks(self):
        task = TaskFactory.build(max_weight=10)
        completed_task_1 = CompletedTaskFactory.build(task=task, weight=5)
        completed_task_2 = CompletedTaskFactory.build(task=task, weight=3)

        self.assertEqual(task.temperature_calculation(today,
                                                      [completed_task_1,
                                                       completed_task_2]),
                         completed_task_1.weight+completed_task_2.weight)
Esempio n. 8
0
    def test_aggregates_respect_max_weight_for_day_when_decaying(self):
        yesterday = today - one_day
        task = TaskFactory.build(max_weight=10)
        completed_task_1 = CompletedTaskFactory.build(when=yesterday,
                                                      task=task, weight=5)
        completed_task_2 = CompletedTaskFactory.build(when=yesterday,
                                                      task=task, weight=8)

        self.assertEqual(task.temperature_calculation(today,
                                                      [completed_task_1,
                                                       completed_task_2]),
                         task.max_weight+task.decay_interval)
Esempio n. 9
0
    def test_positive_decay_rate_temperature_calculation(self):
        days_ago = 3
        start_date = today - timedelta(days=days_ago)
        start = 5

        task = TaskFactory.build(max_weight=10, min_weight=-10,
                                 decay_interval=1)
        completed_task = CompletedTaskFactory.build(when=start_date,
                                                    task=task, weight=start)

        self.assertEqual(task.temperature_calculation(today,
                                                      completed_task),
                         start+days_ago)