Skip to content

Commit b6c8727

Browse files
Simplify tests
1 parent b51ffc6 commit b6c8727

File tree

1 file changed

+28
-53
lines changed

1 file changed

+28
-53
lines changed

Lib/test/test_capi/test_tuple.py

Lines changed: 28 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -121,59 +121,34 @@ def test_tuple_pack(self):
121121
# CRASHES pack(2, [1])
122122

123123
def test_tuple_from_pair(self):
124-
# Test _PyTuple_FromPair()
125-
tuple_from_pair = _testinternalcapi._tuple_from_pair
126-
127-
self.assertEqual(tuple_from_pair(1, 2), (1, 2))
128-
self.assertEqual(tuple_from_pair(None, None), (None, None))
129-
self.assertEqual(tuple_from_pair(True, False), (True, False))
130-
131-
# user class supports gc
132-
class Temp:
133-
pass
134-
temp = Temp()
135-
temp_rc = getrefcount(temp)
136-
self.assertEqual(tuple_from_pair(temp, temp), (temp, temp))
137-
self.assertEqual(getrefcount(temp), temp_rc)
138-
139-
self.assertRaises(TypeError, tuple_from_pair, 1, 2, 3)
140-
self.assertRaises(TypeError, tuple_from_pair, 1)
141-
self.assertRaises(TypeError, tuple_from_pair)
142-
143-
self.assertFalse(gc.is_tracked(tuple_from_pair(1, 2)))
144-
self.assertFalse(gc.is_tracked(tuple_from_pair(None, None)))
145-
self.assertFalse(gc.is_tracked(tuple_from_pair(True, False)))
146-
self.assertTrue(gc.is_tracked(tuple_from_pair(temp, (1, 2))))
147-
self.assertTrue(gc.is_tracked(tuple_from_pair(temp, 1)))
148-
self.assertTrue(gc.is_tracked(tuple_from_pair([], {})))
149-
150-
def test_tuple_from_pair_steal(self):
151-
# Test _PyTuple_FromPairSteal()
152-
tuple_from_pair = _testinternalcapi._tuple_from_pair_steal
153-
154-
self.assertEqual(tuple_from_pair(1, 2), (1, 2))
155-
self.assertEqual(tuple_from_pair(None, None), (None, None))
156-
self.assertEqual(tuple_from_pair(True, False), (True, False))
157-
158-
# user class supports gc
159-
class Temp:
160-
pass
161-
temp = Temp()
162-
temp_rc = getrefcount(temp)
163-
self.assertEqual(tuple_from_pair(temp, temp), (temp, temp))
164-
self.assertEqual(getrefcount(temp), temp_rc)
165-
166-
self.assertRaises(TypeError, tuple_from_pair, 1, 2, 3)
167-
self.assertRaises(TypeError, tuple_from_pair, 1)
168-
self.assertRaises(TypeError, tuple_from_pair)
169-
170-
self.assertFalse(gc.is_tracked(tuple_from_pair(1, 2)))
171-
self.assertFalse(gc.is_tracked(tuple_from_pair(None, None)))
172-
self.assertFalse(gc.is_tracked(tuple_from_pair(True, False)))
173-
self.assertTrue(gc.is_tracked(tuple_from_pair(temp, (1, 2))))
174-
self.assertTrue(gc.is_tracked(tuple_from_pair(temp, 1)))
175-
self.assertTrue(gc.is_tracked(tuple_from_pair([], {})))
176-
124+
# Test _PyTuple_FromPair, _PyTuple_FromPairSteal
125+
ctors = (("_PyTuple_FromPair", _testinternalcapi._tuple_from_pair),
126+
("_PyTuple_FromPairSteal", _testinternalcapi._tuple_from_pair_steal))
127+
128+
for name, ctor in ctors:
129+
with self.subTest(name):
130+
self.assertEqual(ctor(1, 2), (1, 2))
131+
self.assertEqual(ctor(None, None), (None, None))
132+
self.assertEqual(ctor(True, False), (True, False))
133+
134+
# user class supports gc
135+
class Temp:
136+
pass
137+
temp = Temp()
138+
temp_rc = getrefcount(temp)
139+
self.assertEqual(ctor(temp, temp), (temp, temp))
140+
self.assertEqual(getrefcount(temp), temp_rc)
141+
142+
self.assertRaises(TypeError, ctor, 1, 2, 3)
143+
self.assertRaises(TypeError, ctor, 1)
144+
self.assertRaises(TypeError, ctor)
145+
146+
self.assertFalse(gc.is_tracked(ctor(1, 2)))
147+
self.assertFalse(gc.is_tracked(ctor(None, None)))
148+
self.assertFalse(gc.is_tracked(ctor(True, False)))
149+
self.assertTrue(gc.is_tracked(ctor(temp, (1, 2))))
150+
self.assertTrue(gc.is_tracked(ctor(temp, 1)))
151+
self.assertTrue(gc.is_tracked(ctor([], {})))
177152

178153
def test_tuple_size(self):
179154
# Test PyTuple_Size()

0 commit comments

Comments
 (0)