コード例 #1
0
    def test_not_equal(self):
        x = Bool("x")
        y = Bool("y")
        z = x != y
        v = x != True
        w = True != x

        self.assertEqual(z.value, "(not (= x y))")
        self.assertEqual(v.value, "(not (= x true))")
        self.assertEqual(w.value, "(not (= x true))")
コード例 #2
0
    def test_xor(self):
        x = Bool("x")
        y = Bool("y")
        z = x ^ y
        v = x ^ True
        w = True ^ x

        self.assertEqual(z.value, "(xor x y)")
        self.assertEqual(v.value, "(xor x true)")
        self.assertEqual(w.value, "(xor true x)")
コード例 #3
0
    def test_equal(self):
        x = Bool("x")
        y = Bool("y")
        z = x == y
        v = x == True
        w = True == x

        self.assertEqual(z.value, "(= x y)")
        self.assertEqual(v.value, "(= x true)")
        self.assertEqual(w.value, "(= x true)")
コード例 #4
0
    def test_or(self):
        x = Bool("x")
        y = Bool("y")
        z = x | y
        v = x | True
        w = True | x

        self.assertEqual(z.value, "(or x y)")
        self.assertEqual(v.value, "(or x true)")
        self.assertEqual(w.value, "(or true x)")
コード例 #5
0
    def test_and(self):
        x = Bool("x")
        y = Bool("y")
        z = x & y
        v = x & True
        w = True & x

        self.assertEqual(z.value, "(and x y)")
        self.assertEqual(v.value, "(and x true)")
        self.assertEqual(w.value, "(and true x)")
コード例 #6
0
    def test_ite(self):
        b = Bool("b")
        x = BitVec(32, "x")
        y = BitVec(32, "y")
        z = BitVec(32, "z")
        v = ite(32, x == 0, y, z)
        w = ite(32, b, y, z)

        self.assertEqual(v.value, "(ite (= x #x00000000) y z)")
        self.assertEqual(w.value, "(ite b y z)")
コード例 #7
0
    def test_invert(self):
        x = Bool("x")
        z = ~x

        self.assertEqual(z.value, "(not x)")
コード例 #8
0
    def test_declaration(self):
        x = Bool("x")

        self.assertEqual(x.declaration, "(declare-fun x () Bool)")