def test_cycle_check_yields_false_for_no_cycles(self): # given t1 = Task('t1') t2 = Task('t2') t1.dependants.append(t2) # expect self.assertFalse(t1.contains_dependency_cycle()) self.assertFalse(t2.contains_dependency_cycle())
def test_cycle_check_yields_false_for_trees(self): # given t1 = Task('t1') t2 = Task('t2') t3 = Task('t3') t4 = Task('t4') t1.dependants.append(t2) t1.dependants.append(t3) t2.dependants.append(t4) t3.dependants.append(t4) # expect self.assertFalse(t1.contains_dependency_cycle()) self.assertFalse(t2.contains_dependency_cycle()) self.assertFalse(t3.contains_dependency_cycle()) self.assertFalse(t4.contains_dependency_cycle())
def test_cycle_check_yields_true_for_long_cycles(self): # given t1 = Task('t1') t2 = Task('t2') t3 = Task('t3') t4 = Task('t4') t5 = Task('t5') t6 = Task('t6') t1.dependants.append(t2) t2.dependants.append(t3) t3.dependants.append(t4) t4.dependants.append(t5) t5.dependants.append(t6) t6.dependants.append(t1) # expect self.assertTrue(t1.contains_dependency_cycle()) self.assertTrue(t2.contains_dependency_cycle()) self.assertTrue(t3.contains_dependency_cycle()) self.assertTrue(t4.contains_dependency_cycle()) self.assertTrue(t5.contains_dependency_cycle()) self.assertTrue(t6.contains_dependency_cycle())