code: def test_qsize(self):
      expected = [0, 1, 2, 3, 2, 3, 2, 1, 0, 1, 0]
      actual = []
      queue = queues.create()
      for _ in range(3):
          actual.append(queue.qsize())
          queue.put(None)
      actual.append(queue.qsize())
      queue.get()
      actual.append(queue.qsize())
      queue.put(None)
      actual.append(queue.qsize())
      for _ in range(3):
          queue.get()
          actual.append(queue.qsize())
      queue.put(None)
      actual.append(queue.qsize())
      queue.get()
      actual.append(queue.qsize())
  
      self.assertEqual(actual, expected)
  
imports: import threading
  from textwrap import dedent
  import unittest
  import time
  from test.support import import_helper
  from test.support import interpreters
  from test.support.interpreters import queues
  from .utils import _run_output, TestBase
label_desc: Use image node_id 3 for calling the TestQueueOps obj's underlying member method code with example usage: obj.test_qsize() without return types