コード例 #1
0
    def test_trampoline3(self):
        """different things with a 3-argument test proc"""
        abc_test = tohil.TclProc("abc_test")

        self.assertEqual(abc_test("a_val"),
                         "a is 'a_val', b is 'b_default', c is 'c_default'")
        self.assertEqual(abc_test("a_val", "b_val"),
                         "a is 'a_val', b is 'b_val', c is 'c_default'")
        self.assertEqual(
            abc_test("a_val2", b="b_val2"),
            "a is 'a_val2', b is 'b_val2', c is 'c_default'",
        )
        self.assertEqual(
            abc_test(b="b_val3", a="a_val3"),
            "a is 'a_val3', b is 'b_val3', c is 'c_default'",
        )
        self.assertEqual(
            abc_test(b="b_val4", a="a_val4", c="c_val4"),
            "a is 'a_val4', b is 'b_val4', c is 'c_val4'",
        )
        self.assertEqual(
            abc_test(c="c_val5", a="a_val5"),
            "a is 'a_val5', b is 'b_default', c is 'c_val5'",
        )
        self.assertEqual(
            abc_test("a_val6", c="c_val6"),
            "a is 'a_val6', b is 'b_default', c is 'c_val6'",
        )
        self.assertEqual(
            abc_test(c="c_val8", a="a_val8"),
            "a is 'a_val8', b is 'b_default', c is 'c_val8'",
        )
コード例 #2
0
 def test_trampoline6(self):
     """confirm TclProc against a C function produces something
     and doesn't break"""
     t = tohil.TclProc("lindex")
     self.assertEqual(
         repr(t),
         "<class 'TclProc' 'lindex', c-function>",
     )
コード例 #3
0
    def test_trampoline1(self):
        """create test proc and try different default values"""
        ab_test = tohil.TclProc("ab_test")

        self.assertEqual(ab_test("a_val"), "a is 'a_val', b is 'b_default'")
        self.assertEqual(ab_test("a_val", "b_val"),
                         "a is 'a_val', b is 'b_val'")
        self.assertEqual(ab_test("a_val2", b="b_val2"),
                         "a is 'a_val2', b is 'b_val2'")
        self.assertEqual(ab_test(b="b_val3", a="a_val3"),
                         "a is 'a_val3', b is 'b_val3'")
コード例 #4
0
ファイル: test_trampoline.py プロジェクト: NasaGeek/tohil
    def test_trampoline4(self):
        """raising exceptions on misuse"""
        # with self.assertRaises(SyntaxError):
        #    abc_test(c="c_val4", a="a_val4", c="c_val4")

        abc_test = tohil.TclProc("abc_test")

        with self.assertRaises(TypeError):
            abc_test(c="c_val4", b="b_val4")

        with self.assertRaises(TypeError):
            abc_test(b="b_val7")
コード例 #5
0
ファイル: test_trampoline.py プロジェクト: NasaGeek/tohil
    def test_trampoline2(self):
        """try test proc with incorrect arguments"""

        ab_test = tohil.TclProc("ab_test")

        with self.assertRaises(TypeError):
            ab_test()

        with self.assertRaises(TypeError):
            ab_test("a", "b", "c")

        with self.assertRaises(TypeError):
            ab_test("a", c="c")
コード例 #6
0
 def test_trampoline5(self):
     """calling tcl procs that use the 'args' special behavior"""
     tohil.eval("""proc arg_check_ab {a {b default_b} args} {
         return [list $a $b $args]
     }""")
     arg_check_ab = tohil.TclProc("arg_check_ab")
     self.assertEqual(
         arg_check_ab("c_val4", b="b_val4", a="a_val4"),
         "a_val4 b_val4 c_val4",
     )
     self.assertEqual(
         arg_check_ab("c_val5", a="a_val5"),
         "a_val5 c_val5 {}",
     )
コード例 #7
0
 def test_trampoline7(self):
     """confirm it's an error to create TclProc where the corresponding
     Tcl proc or C function doesn't exist"""
     with self.assertRaises(NameError):
         t = tohil.TclProc("shenanigans")