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