From f5ed25e71bdf5860b68af4aa913d4913d055a783 Mon Sep 17 00:00:00 2001 From: VIGNET Pierre <pierre.vignet@irisa.fr> Date: Fri, 13 Dec 2019 02:59:05 +0100 Subject: [PATCH] [lib] Tests: test_dimacs_frontier_ban; reactivation of a test deactivated for lack of file available --- .../clause_constraints/mcl/TestMCLAnalyser.py | 55 +++++++++---------- 1 file changed, 25 insertions(+), 30 deletions(-) diff --git a/library/cadbiom/models/clause_constraints/mcl/TestMCLAnalyser.py b/library/cadbiom/models/clause_constraints/mcl/TestMCLAnalyser.py index f00bba9..c8df0ed 100644 --- a/library/cadbiom/models/clause_constraints/mcl/TestMCLAnalyser.py +++ b/library/cadbiom/models/clause_constraints/mcl/TestMCLAnalyser.py @@ -437,45 +437,40 @@ class TestMCLAnaLyzer(unittest.TestCase): self.assert_(res, 'Error unflatten') - @unittest.skip("Test files not provided") - def test_dimacs_frontier(self): - """ - frontier solution in DIMACS form - """ + def test_dimacs_frontier_ban(self): + """Ban previous solution and try to get a new different one""" rep = ErrorRep() mcla = MCLAnalyser(rep) - prop = 'p15INK4b and p21CIP1' + prop = "p15INK4b and p21CIP1" query = MCLSimpleQuery(None, None, prop) - mcla.build_from_chart_file("../ucl/examples/tgf_211011_man.bcx") + filename = pkg_resources.resource_filename( + __name__, # package name + "../../guard_transitions/translators/tests/tgf_cano_noclock_cmp.cal" + ) + mcla.build_from_cadlang(filename) + # Get <tuple <DimacsFrontierSol>> - lsol = mcla.__sq_dimacs_frontier_solutions(query, 8, 1) -# lforbidden = [] -# for sol in lsol: -# forbid = [] -# for varcod in sol.frontier_values: -# if varcod > 0: -# forbid.append(-varcod) -# lforbidden.append(forbid) - forbidden_sol = \ - [ - # Get all activated frontiers in the DimacsFrontierSol - [-var for var in dimacs_front_sol.activated_frontier_values] - for dimacs_front_sol in lsol - ] -# print(lforbidden) -## TODO: assert lforbidden - print("new forbid", forbidden_sol) - raise Exception("ici") - - # try another solution + lsol = mcla._MCLAnalyser__sq_dimacs_frontier_solutions(query, 8, 1) + + forbidden_sol = [ + # Get all activated frontiers in the DimacsFrontierSol + [-var for var in dimacs_front_sol.activated_frontier_values] + for dimacs_front_sol in lsol + ] + + # Try another solution query.dim_start = forbidden_sol # Get <tuple <DimacsFrontierSol>> - lsol2 = mcla.__sq_dimacs_frontier_solutions(query, 8, 1) + lsol2 = mcla._MCLAnalyser__sq_dimacs_frontier_solutions(query, 8, 1) + # comparison: solution are ordered and must be different # remains true if all components are equal (equal solutions) - res = set(lsol) == set(lsol2) - self.assert_(not res, 'Error dimacs_frontier: solutions not different') + self.assertNotEqual( + set(lsol), + set(lsol2), + "Error dimacs_frontier: solutions not different" + ) def test_solution_pruning(self): -- GitLab