Issue #5788: `datetime.timedelta` objects get a new `total_seconds()` method returning
[python.git] / Lib / test / test_call.py
blobf3c7c8c394f90573b3fea9fb4b3b43bb3d587600
1 import unittest
2 from test import test_support
4 # The test cases here cover several paths through the function calling
5 # code. They depend on the METH_XXX flag that is used to define a C
6 # function, which can't be verified from Python. If the METH_XXX decl
7 # for a C function changes, these tests may not cover the right paths.
9 class CFunctionCalls(unittest.TestCase):
11 def test_varargs0(self):
12 self.assertRaises(TypeError, {}.has_key)
14 def test_varargs1(self):
15 {}.has_key(0)
17 def test_varargs2(self):
18 self.assertRaises(TypeError, {}.has_key, 0, 1)
20 def test_varargs0_ext(self):
21 try:
22 {}.has_key(*())
23 except TypeError:
24 pass
26 def test_varargs1_ext(self):
27 {}.has_key(*(0,))
29 def test_varargs2_ext(self):
30 try:
31 {}.has_key(*(1, 2))
32 except TypeError:
33 pass
34 else:
35 raise RuntimeError
37 def test_varargs0_kw(self):
38 self.assertRaises(TypeError, {}.has_key, x=2)
40 def test_varargs1_kw(self):
41 self.assertRaises(TypeError, {}.has_key, x=2)
43 def test_varargs2_kw(self):
44 self.assertRaises(TypeError, {}.has_key, x=2, y=2)
46 def test_oldargs0_0(self):
47 {}.keys()
49 def test_oldargs0_1(self):
50 self.assertRaises(TypeError, {}.keys, 0)
52 def test_oldargs0_2(self):
53 self.assertRaises(TypeError, {}.keys, 0, 1)
55 def test_oldargs0_0_ext(self):
56 {}.keys(*())
58 def test_oldargs0_1_ext(self):
59 try:
60 {}.keys(*(0,))
61 except TypeError:
62 pass
63 else:
64 raise RuntimeError
66 def test_oldargs0_2_ext(self):
67 try:
68 {}.keys(*(1, 2))
69 except TypeError:
70 pass
71 else:
72 raise RuntimeError
74 def test_oldargs0_0_kw(self):
75 try:
76 {}.keys(x=2)
77 except TypeError:
78 pass
79 else:
80 raise RuntimeError
82 def test_oldargs0_1_kw(self):
83 self.assertRaises(TypeError, {}.keys, x=2)
85 def test_oldargs0_2_kw(self):
86 self.assertRaises(TypeError, {}.keys, x=2, y=2)
88 def test_oldargs1_0(self):
89 self.assertRaises(TypeError, [].count)
91 def test_oldargs1_1(self):
92 [].count(1)
94 def test_oldargs1_2(self):
95 self.assertRaises(TypeError, [].count, 1, 2)
97 def test_oldargs1_0_ext(self):
98 try:
99 [].count(*())
100 except TypeError:
101 pass
102 else:
103 raise RuntimeError
105 def test_oldargs1_1_ext(self):
106 [].count(*(1,))
108 def test_oldargs1_2_ext(self):
109 try:
110 [].count(*(1, 2))
111 except TypeError:
112 pass
113 else:
114 raise RuntimeError
116 def test_oldargs1_0_kw(self):
117 self.assertRaises(TypeError, [].count, x=2)
119 def test_oldargs1_1_kw(self):
120 self.assertRaises(TypeError, [].count, {}, x=2)
122 def test_oldargs1_2_kw(self):
123 self.assertRaises(TypeError, [].count, x=2, y=2)
126 def test_main():
127 test_support.run_unittest(CFunctionCalls)
130 if __name__ == "__main__":
131 test_main()