code: def test_inner_join_func(self):
      new_table = self.left.join(
          self.right,
          lambda left: "%i%s" % (left["two"], left["three"]),
          lambda right: "%i%s" % (right["five"], right["six"]),
          inner=True,
      )
  
      self.assertIsNot(new_table, self.left)
      self.assertIsNot(new_table, self.right)
      self.assertColumnNames(
          new_table, ["one", "two", "three", "four", "five", "six"]
      )
      self.assertColumnTypes(
          new_table, [Number, Number, Text, Number, Number, Text]
      )
      self.assertRows(new_table, [(1, 4, "a", 1, 4, "a")])
  
imports: from agate import Table
  from agate.data_types import Number, Text
  from agate.testcase import AgateTestCase
label_desc: Use image node_id 13 for calling the TestJoin obj's underlying member method code with example usage: obj.test_inner_join_func() without return types