code: def test_splitdict(self):
      splitdict = tkinter._splitdict
      tcl = self.interp.tk
  
      arg = "-a {1 2 3} -something foo status {}"
      self.assertEqual(
          splitdict(tcl, arg, False),
          {"-a": "1 2 3", "-something": "foo", "status": ""},
      )
      self.assertEqual(
          splitdict(tcl, arg),
          {"a": "1 2 3", "something": "foo", "status": ""},
      )
  
      arg = ("-a", (1, 2, 3), "-something", "foo", "status", "{}")
      self.assertEqual(
          splitdict(tcl, arg, False),
          {"-a": (1, 2, 3), "-something": "foo", "status": "{}"},
      )
      self.assertEqual(
          splitdict(tcl, arg),
          {"a": (1, 2, 3), "something": "foo", "status": "{}"},
      )
  
      self.assertRaises(RuntimeError, splitdict, tcl, "-a b -c ")
      self.assertRaises(RuntimeError, splitdict, tcl, ("-a", "b", "-c"))
  
      arg = tcl.call(
          "list", "-a", (1, 2, 3), "-something", "foo", "status", ()
      )
      self.assertEqual(
          splitdict(tcl, arg),
          {
              "a": (1, 2, 3) if self.wantobjects else "1 2 3",
              "something": "foo",
              "status": "",
          },
      )
  
      arg = tcl.call(
          "dict",
          "create",
          "-a",
          (1, 2, 3),
          "-something",
          "foo",
          "status",
          (),
      )
      if not self.wantobjects:
          expected = {"a": "1 2 3", "something": "foo", "status": ""}
      else:
          expected = {"a": (1, 2, 3), "something": "foo", "status": ""}
      self.assertEqual(splitdict(tcl, arg), expected)
  
imports: import unittest
  import subprocess
  import sys
  import os
  from test import support
  from test.support import import_helper
  from test.support import os_helper
  import tkinter
  from tkinter import Tcl
  from _tkinter import TclError
label_desc: Use image node_id 38 for calling the TclTest obj's underlying member method code with example usage: obj.test_splitdict() without return types