code: def test_proxy_maintains_key(self):
      number_type = Number()
  
      tableset = TableSet(
          self.tables.values(),
          self.tables.keys(),
          key_name="foo",
          key_type=number_type,
      )
  
      self.assertEqual(tableset.key_name, "foo")
      self.assertEqual(tableset.key_type, number_type)
  
      new_tableset = tableset.select(["number"])
  
      self.assertEqual(new_tableset.key_name, "foo")
      self.assertEqual(new_tableset.key_type, number_type)
  
imports: import json
  import shutil
  from collections import OrderedDict
  from io import StringIO
  from agate import Table, TableSet
  from agate.computations import Formula
  from agate.data_types import Number, Text
  from agate.testcase import AgateTestCase
label_desc: Use image node_id 23 for calling the TestTableSet obj's underlying member method code with example usage: obj.test_proxy_maintains_key() without return types