MCPcopy Index your code
hub / github.com/python/cpython / test_full

Method test_full

Lib/test/test_interpreters/test_queues.py:212–270  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

210 self.assertIs(after, True)
211
212 def test_full(self):
213 for maxsize in [1, 3, 11]:
214 with self.subTest(f'maxsize={maxsize}'):
215 num_to_add = maxsize
216 expected = [False] * (num_to_add * 2 + 3)
217 expected[maxsize] = True
218 expected[maxsize + 1] = True
219
220 queue = queues.create(maxsize)
221 actual = []
222 empty = [queue.empty()]
223
224 for _ in range(num_to_add):
225 actual.append(queue.full())
226 queue.put_nowait(None)
227 actual.append(queue.full())
228 with self.assertRaises(queues.QueueFull):
229 queue.put_nowait(None)
230 empty.append(queue.empty())
231
232 for _ in range(num_to_add):
233 actual.append(queue.full())
234 queue.get_nowait()
235 actual.append(queue.full())
236 with self.assertRaises(queues.QueueEmpty):
237 queue.get_nowait()
238 actual.append(queue.full())
239 empty.append(queue.empty())
240
241 self.assertEqual(actual, expected)
242 self.assertEqual(empty, [True, False, True])
243
244 # no max size
245 for args in [(), (0,), (-1,), (-10,)]:
246 with self.subTest(f'maxsize={args[0]}' if args else '<default>'):
247 num_to_add = 13
248 expected = [False] * (num_to_add * 2 + 3)
249
250 queue = queues.create(*args)
251 actual = []
252 empty = [queue.empty()]
253
254 for _ in range(num_to_add):
255 actual.append(queue.full())
256 queue.put_nowait(None)
257 actual.append(queue.full())
258 empty.append(queue.empty())
259
260 for _ in range(num_to_add):
261 actual.append(queue.full())
262 queue.get_nowait()
263 actual.append(queue.full())
264 with self.assertRaises(queues.QueueEmpty):
265 queue.get_nowait()
266 actual.append(queue.full())
267 empty.append(queue.empty())
268
269 self.assertEqual(actual, expected)

Callers

nothing calls this directly

Calls 9

subTestMethod · 0.45
createMethod · 0.45
emptyMethod · 0.45
appendMethod · 0.45
fullMethod · 0.45
put_nowaitMethod · 0.45
assertRaisesMethod · 0.45
get_nowaitMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected