예제 #1
0
    def run_test(self, thy_name, pat, t, *, vars=None, svars=None, tyinst=None, inst=None, failed=None):
        context.set_context(thy_name, vars=vars, svars=svars)

        pat, t = Term(pat), Term(t)
        inst = Inst((nm, Term(s)) for nm, s in inst.items()) if inst is not None else Inst()
        if tyinst is not None:
            inst.tyinst = TyInst((nm, Type(s)) for nm, s in tyinst.items())

        if failed is not None:
            self.assertRaises(failed, first_order_match, pat, t)
            return

        self.assertEqual(first_order_match(pat, t), inst)
예제 #2
0
파일: parser_test.py 프로젝트: bzhan/holpy
    def testParseConstructor(self):
        T = Type("'a => 'b")
        self.assertEqual(T, TFun(TVar('a'), TVar('b')))

        t = Term("(A::bool)")
        self.assertEqual(t, Var('A', BoolType))