Example #1
0
 def matchOK(self, pat, exp, expected):
     subst = matchAgainst(pExp(pat), pExp(exp))
     if subst:
         subst_l = list(subst.iteritems())
         subst_l.sort()
         subst = "".join(["%s->%s;" % (vname, e) for (vname, e) in subst_l])
     self.assertEqual(expected, subst)
Example #2
0
 def testSubst(self):
     "Subst"
     e1 = pExp("E1")
     e2 = pExp("E2")
     e = pExp("Cons(x1, Cons(x2, Cons(x3, Nil)))")
     subst = {"x1": e1, "x2": e2}
     self.assertEqual("Cons(E1,Cons(E2,Cons(x3,Nil)))",
                      "%s" % e.applySubst(subst))
 def testSubst(self):
     "Subst"
     e1 = pExp("E1")
     e2 = pExp("E2")
     e = pExp("Cons(x1, Cons(x2, Cons(x3, Nil)))")
     subst = {"x1": e1, "x2": e2}
     self.assertEqual("Cons(E1,Cons(E2,Cons(x3,Nil)))",
                      "%s" % e.applySubst(subst))
 def matchOK(self, pat, exp, expected):
     subst = matchAgainst(pExp(pat), pExp(exp))
     if subst:
         subst_l = list(subst.iteritems())
         subst_l.sort()
         subst = "".join(["%s->%s;" % (vname, e) 
                          for (vname, e) in subst_l])
     self.assertEqual(expected, subst)
 def msgOK(self, e1, e2, expected):
     msgBuilder = MSGBuilder(NameGen("v", 100))
     gen = msgBuilder.build(pExp(e1), pExp(e2))
     self.assertEqual(expected, "%s" % gen)
 def buildPrTreeOK(self, prog, e, expected):
     tree = self.buildPrTree(pProg(prog), pExp(e))
     self.assertEqual(expected, "%s" % tree)
Example #7
0
 def varAttackTrue(self, input):
     e = pExp(input)
     self.assertTrue(aVarIsUnderAttack(e))
Example #8
0
 def heTrue(self, input1, input2):
     e1 = pExp(input1)
     e2 = pExp(input2)
     self.assertTrue(he(e1, e2))
Example #9
0
 def varAttackTrue(self, input):
     e = pExp(input)
     self.assertTrue(aVarIsUnderAttack(e))
Example #10
0
 def heTrue(self, input1, input2):
     e1 = pExp(input1)
     e2 = pExp(input2)
     self.assertTrue(he(e1, e2))
Example #11
0
 def equivNo(self, e1, e2):
     self.assertFalse(equiv(pExp(e1), pExp(e2)))
Example #12
0
 def equivYes(self, e1, e2):
     self.assertTrue(equiv(pExp(e1), pExp(e2)))
Example #13
0
 def matchNone(self, pat, exp):
     subst = matchAgainst(pExp(pat), pExp(exp))
     self.assertEqual(None, subst)
Example #14
0
 def testVars(self):
     "Vars"
     e = pExp("A(x,B(y,z),a)")
     self.assertEqual(['x', 'y', 'z', 'a'], e.vars())
Example #15
0
 def advancedScpOK(self, prog, e, expected):
     (resPr, resExp) = self.runAdvancedScp(pProg(prog), pExp(e))
     res_s = "%s$%s" % (resPr, resExp)
     self.assertEqual(expected, res_s)
Example #16
0
 def buildPrTreeOK(self, prog, e, expected):
     tree = self.buildPrTree(pProg(prog), pExp(e))
     self.assertEqual(expected, "%s" % tree)
 def testVars(self):
     "Vars"
     e = pExp("A(x,B(y,z),a)")
     self.assertEqual(['x', 'y', 'z', 'a'], e.vars())
Example #18
0
 def heFalse(self, input1, input2):
     e1 = pExp(input1)
     e2 = pExp(input2)
     self.assertFalse(he(e1, e2))
 def matchNone(self, pat, exp):
     subst = matchAgainst(pExp(pat), pExp(exp))
     self.assertEqual(None, subst)
Example #20
0
 def varAttackFalse(self, input):
     e = pExp(input)
     self.assertFalse(aVarIsUnderAttack(e))
 def equivYes(self, e1, e2):
     self.assertTrue(equiv(pExp(e1), pExp(e2)))
Example #22
0
 def heFalse(self, input1, input2):
     e1 = pExp(input1)
     e2 = pExp(input2)
     self.assertFalse(he(e1, e2))
 def equivNo(self, e1, e2):
     self.assertFalse(equiv(pExp(e1), pExp(e2)))
Example #24
0
 def varAttackFalse(self, input):
     e = pExp(input)
     self.assertFalse(aVarIsUnderAttack(e))
Example #25
0
 def drStep(self, prog, e, expected):
     self.drStep0(pProg(prog), pExp(e), expected)
 def advancedScpOK(self, prog, e, expected):
     (resPr, resExp) = self.runAdvancedScp(pProg(prog), pExp(e))
     res_s = "%s$%s" % (resPr, resExp)
     self.assertEqual(expected, res_s)
Example #27
0
 def msgOK(self, e1, e2, expected):
     msgBuilder = MSGBuilder(NameGen("v", 100))
     gen = msgBuilder.build(pExp(e1), pExp(e2))
     self.assertEqual(expected, "%s" % gen)