Exemple #1
0
 def testContradiction(self):
     x = Var('x')
     results = run([x], 
         andR(
             eqR(x, 1),
             eqR(x, 2)
         )
     )
     self.assertEqual( results, [] )
Exemple #2
0
    def testSimpleEquals(self):
        x = Var('x')
        results = run([x], 
            eqR("someVal", "someVal")
        )
        self.assertEqual( results, [{}] )

        y = Var('y')
        results2 = run([y], 
            eqR("someVal", "otherVal")
        )
        self.assertEqual( results2, [] )
Exemple #3
0
 def testFusion(self):
     x = Var('x')
     y = Var('y')
     results = run([x], 
         eqR(x, y)
     )
     self.assertEqual( results, [{x: y}] )
Exemple #4
0
    def testAnd(self):
        x = Var('x')
        y = Var('y')
        results = run([x, y],
            andR(
                eqR(x, y),
                eqR(y, 1)
            )
        )
        self.assertEqual( results, [{x: 1, y: 1}] )

        results2 = run([x],
            andR(
                eqR(x, y),
                eqR(y, 1)
            )
        )
        self.assertEqual( results2, [{x: 1}] )
Exemple #5
0
 def testLists2(self):
     x = Var('x')
     results = run([x],
         eqR(["pea", "pod"],  ["pea", x])
     )
     self.assertEqual( results, [{x: "pod"}] )
Exemple #6
0
 def testLists(self):
     x = Var('x')
     results = run([x],
         eqR(["pea", "pod"],  x)
     )
     self.assertEqual( results, [{x: ["pea", "pod"]}] )
Exemple #7
0
 def testEquals(self):
     a = Var('a')
     results = run([a], 
         eqR(1, a)
     )
     self.assertEqual( results, [{a: 1}] )