code: def test_generator_mixin_basic() -> None:
      stdin_queue: Queue[Optional[bytes]] = Queue()
  
      i = 0
      for fd, data in run_command(
          [sys.executable, "-i", "-"], TestProtocol, stdin_queue
      ):
          if i > 10:
              stdin_queue.put(b"exit(0)\n")
              stdin_queue.put(None)
          else:
              stdin_queue.put(f"print({i}*{i})\n".encode())
          i += 1
  
imports: from __future__ import annotations
  import sys
  from queue import Queue
  from typing import Any, Optional
  from datalad.runner.coreprotocols import NoCapture, StdOutErrCapture
  from datalad.runner.nonasyncrunner import _ResultGenerator, run_command
  from datalad.runner.protocol import GeneratorMixIn
  from datalad.tests.utils_pytest import assert_equal, assert_raises
  from ..exception import CommandError
  from ..runner import WitlessRunner
  from .utils import py2cmd
label_desc: Use image node_id 1 for calling a global function with example usage: test_generator_mixin_basic() without return types