Пример #1
0
    def test_earliest_start_date(self):
        timeline = Timeline(util.nov1)
        work_slot, _ = timeline.find_slot(4, 1.5)

        w1 = Work(1)
        w1.title = 'w1'
        w1.effort_left_d = 1.0
        w1.assignee_id = 100
        w1.schedule(timeline.find_slot(0, 1)[0])

        w2 = Work(2)
        w2.title = 'w2'
        w2.effort_left_d = 1.0
        w2.assignee_id = 101
        w2.schedule(timeline.find_slot(1, 3)[0])

        w3 = Work(3)
        w3.title = 'w3'
        w3.effort_left_d = 1.0
        w3.prereqs = [1, 2]
        w3.assignee_id = 200

        work_dict = {1: w1, 2: w2, 3: w3}
        self.assertEqual(util.nov7, w3.earliest_start_date(work_dict, util.nov1))
        return
Пример #2
0
    def test_find_slot(self):
        timeline = Timeline(util.nov1)
        my_slot, containing_slot_index = timeline.find_slot(4, 0.5)
        self.assertEqual(Slot(4, 4.5), my_slot)
        self.assertEqual(0, containing_slot_index)

        # Test where prefered slot is not available
        timeline.slots = [Slot(1, 3), Slot(4, float('inf'))]
        my_slot, containing_slot_index = timeline.find_slot(0, 2.5)
        self.assertEqual(Slot(4, 6.5), my_slot)
        self.assertEqual(1, containing_slot_index)

        # Check that the slot dates are correct
        self.assertEqual(util.nov7, my_slot.start_date)
        self.assertEqual(util.nov9, my_slot.end_date)
        return
Пример #3
0
    def test_find_slot(self):
        timeline = Timeline(util.nov1)
        my_slot, containing_slot_index = timeline.find_slot(4, 0.5)
        self.assertEqual(Slot(4, 4.5), my_slot)
        self.assertEqual(0, containing_slot_index)

        # Test where prefered slot is not available
        timeline.slots = [Slot(1, 3), Slot(4, float('inf'))]
        my_slot, containing_slot_index = timeline.find_slot(0, 2.5)
        self.assertEqual(Slot(4, 6.5), my_slot)
        self.assertEqual(1, containing_slot_index)

        # Check that the slot dates are correct
        self.assertEqual(util.nov7, my_slot.start_date)
        self.assertEqual(util.nov9, my_slot.end_date)
        return
Пример #4
0
    def test_schedule(self):
        timeline = Timeline(util.nov1)
        work_slot, _ = timeline.find_slot(4, 1.5)

        w = Work(1)
        w.title = 'Some work'
        w.effort_left_d = 1.5
        w.assignee_id = 100

        w.schedule(work_slot)
        self.assertEqual(util.nov7, w.est_start_date())
        self.assertEqual(util.nov8, w.est_end_date())
        return
Пример #5
0
 def test_claim_slot_on_partially_filled_days(self):
     timeline = Timeline(util.nov1)
     timeline.claim_slot(Slot(4, 4.5), 0)
     my_slot, containing_slot_index = timeline.find_slot(4.1, 0.5)
     self.assertEqual(Slot(4.5, 5), my_slot)
     return
Пример #6
0
 def test_find_slot_at_end(self):
     timeline = Timeline(util.nov1)
     timeline.claim_slot(Slot(0, 1.0), 0)
     my_slot, containing_slot_index = timeline.find_slot(0, 1.0)
     return
Пример #7
0
 def test_claim_slot_on_partially_filled_days(self):
     timeline = Timeline(util.nov1)
     timeline.claim_slot(Slot(4, 4.5), 0)
     my_slot, containing_slot_index = timeline.find_slot(4.1, 0.5)
     self.assertEqual(Slot(4.5, 5), my_slot)
     return
Пример #8
0
 def test_find_slot_at_end(self):
     timeline = Timeline(util.nov1)
     timeline.claim_slot(Slot(0, 1.0), 0)
     my_slot, containing_slot_index = timeline.find_slot(0, 1.0)
     return