def test_positive_02(self): "Three node one edge digraph B -> A, C -> A and C -> B" config, reqset = create_parameters() config.set_depends_on() reqset.reqs = { "A": TestReq("A", {"Type": Requirement.rt_master_requirement}, {}), "B": TestReq("B", {"Type": Requirement.rt_initial_requirement}, {"Depends on": RecordEntry("Depends on", "A")}), "C": TestReq("C", {"Type": Requirement.rt_requirement}, {"Depends on": RecordEntry("Depends on", "A B")}), } rdep = RDepDependsOn(config) rdep.rewrite(reqset) assert(reqset.reqs["A"].outgoing_as_named_list() == []) assert(reqset.reqs["A"].incoming_as_named_list() == ["C", "B"]) assert(reqset.reqs["B"].outgoing_as_named_list() == ["A"]) assert(reqset.reqs["B"].incoming_as_named_list() == ["C"]) assert(reqset.reqs["C"].outgoing_as_named_list() == ["A", "B"]) assert(reqset.reqs["C"].incoming_as_named_list() == [])
def test_negative_01(self): "Master requirement with Depends on field" opts, config, reqset = create_parameters() reqset.reqs = { "A": TestReq("A", {"Type": Requirement.rt_master_requirement}, {"Depends on": RecordEntry("Depends on", "A")})} rdep = RDepDependsOn(opts, config) status = rdep.rewrite(reqset) assert(status==False)
def test_negative_03(self): "Normal requirement has no 'Depends on'" opts, config, reqset = create_parameters() reqset.reqs = { "A": TestReq("A", {"Type": Requirement.rt_master_requirement}, {}), "B": TestReq("B", {"Type": Requirement.rt_requirement}, {})} rdep = RDepDependsOn(opts, config) status = rdep.rewrite(reqset) assert(status==False)
def test_negative_07(self): "'Depends on' points to same requirement" opts, config, reqset = create_parameters() reqset.reqs = { "A": TestReq("A", {"Type": Requirement.rt_master_requirement}, {}), "B": TestReq("B", {"Type": Requirement.rt_requirement}, {"Depends on": RecordEntry("Depends on", "B")})} rdep = RDepDependsOn(opts, config) status = rdep.rewrite(reqset) assert(status==False)
def test_negative_02(self): "Two nodes as master requirement" config, reqset = create_parameters() config.set_depends_on() reqset.reqs = { "A": TestReq("A", {"Type": Requirement.rt_master_requirement}, {}), "B": TestReq("B", {"Type": Requirement.rt_master_requirement}, {})} rdep = RDepDependsOn(config) status = rdep.rewrite(reqset) assert(status == False)
def test_negative_06(self): "Set without any master requirement" config, reqset = create_parameters() config.set_depends_on() reqset.reqs = { "A": TestReq("A", {"Type": Requirement.rt_requirement}, {"Depends on": RecordEntry("Depends on", "B")}), "B": TestReq("B", {"Type": Requirement.rt_requirement}, {"Depends on": RecordEntry("Depends on", "A")})} rdep = RDepDependsOn(config) status = rdep.rewrite(reqset) assert(status == False)
def test_negative_05(self): "'Depends on' points to a non existing requirement" config, reqset = create_parameters() config.set_depends_on() reqset.reqs = { "A": TestReq("A", {"Type": Requirement.rt_master_requirement}, {}), "B": TestReq("B", {"Type": Requirement.rt_requirement}, {"Depends on": RecordEntry("Depends on", "C")})} rdep = RDepDependsOn(config) status = rdep.rewrite(reqset) assert(status == False)
def test_negative_04(self): "Normal requirement has empty 'Depends on'" config, reqset = create_parameters() config.set_depends_on() reqset.reqs = { "A": TestReq("A", {"Type": Requirement.rt_master_requirement}, {}), "B": TestReq("B", {"Type": Requirement.rt_requirement}, {"Depends on": RecordEntry("Depends on", "")})} rdep = RDepDependsOn(config) status = rdep.rewrite(reqset) assert(status == False)
def test_positive_01(self): "Two node one edge digraph B -> A" opts, config, reqset = create_parameters() reqset.reqs = { "A": TestReq("A", {"Type": Requirement.rt_master_requirement}, {}), "B": TestReq("B", {"Type": Requirement.rt_initial_requirement}, {"Depends on": RecordEntry("Depends on", "A")})} rdep = RDepDependsOn(opts, config) rdep.rewrite(reqset) assert(reqset.reqs["A"].outgoing_as_named_list()==[]) assert(reqset.reqs["A"].incoming_as_named_list()==["B"]) assert(reqset.reqs["B"].outgoing_as_named_list()==["A"]) assert(reqset.reqs["B"].incoming_as_named_list()==[])