예제 #1
0
    def test_lots_of_awesome(self):
        p1 = Project(2 * 480, 1, 2)
        p2 = Project(2 * 480, 1, 2)

        awesome = Project(160, 1, 1)
        awesome.is_awesome = True
        awesome.extra_devs = 1

        not_awesome = Project(2 * 160, 1, 1)
        not_awesome.is_awesome = True
        not_awesome.extra_devs = 1

        w = Workflow(7, 3, [p1, p2, awesome, not_awesome])
        self.assertTrue(w.is_deliverable())

        more_awesome = Project(6 * 160, 1, 1)
        more_awesome.periods_to_delivery = 3
        more_awesome.is_awesome = True
        more_awesome.extra_devs = 2

        w2 = w.add_project(more_awesome)
        self.assertFalse(w2.is_deliverable(), msg = "Fails, it need one more dev")

        more_awesome.extra_devs = 3
        self.assertTrue(w2.is_deliverable())
예제 #2
0
    def test_undeliverable_awesome(self):
        p1 = Project(300, 1, 3)
        p2 = Project(300, 1, 3)

        awesome = Project(300, 1, 3)
        awesome.is_awesome = True
        awesome.extra_devs = 2

        w = Workflow(6, 2, [p1, p2, awesome])
        self.assertTrue(w.is_deliverable())

        not_awesome = Project(300, 1, 3)
        not_awesome.is_awesome = True
        not_awesome.extra_devs = 2

        w2 = w.add_project(not_awesome)
        self.assertFalse(w2.is_deliverable())
예제 #3
0
    def test_parallel_awesome(self):
        p1 = Project(2 * 480, 1, 2)
        p2 = Project(2 * 480, 1, 2)

        awesome = Project(160, 1, 1)
        awesome.is_awesome = True
        awesome.extra_devs = 1

        w = Workflow(6, 2, [p1, p2, awesome])
        self.assertTrue(w.is_deliverable())

        not_awesome = Project(160, 1, 1)
        not_awesome.is_awesome = True
        not_awesome.extra_devs = 1

        w2 = w.add_project(not_awesome)
        self.assertTrue(w2.is_deliverable())
예제 #4
0
    def test_sequential_awesome(self):
        p1 = Project(2 * 480, 1, 2)
        p2 = Project(2 * 480, 1, 2)

        awesome = Project(320, 1, 3)
        awesome.is_awesome = True
        awesome.extra_devs = 2

        w = Workflow(6, 2, [p1, p2, awesome])
        self.assertTrue(w.is_deliverable())

        not_awesome = Project(320, 1, 1)
        not_awesome.is_awesome = True
        not_awesome.extra_devs = 2

        w2 = w.add_project(not_awesome)
        self.assertTrue(w2.is_deliverable())
예제 #5
0
    def test_deliverable_awesome(self):
        p1 = Project(300, 1, 3)
        p2 = Project(300, 1, 3)

        w = Workflow(6, 2, [p1, p2])
        self.assertTrue(w.is_deliverable())

        awesome = Project(300, 1, 3)
        awesome.is_awesome = True

        w2 = w.add_project(awesome)
        self.assertFalse(w2.is_deliverable())

        awesome.extra_devs = 1
        self.assertFalse(w2.is_deliverable())

        awesome.extra_devs = 2
        self.assertTrue(w2.is_deliverable())