code: def testTableGeneration(self):
      array2d = np.array([["one", "two"], ["three", "four"]])
      expected_table = textwrap.dedent(
          """\
              <table>
              <tbody>
              <tr>
              <td>one</td>
              <td>two</td>
              </tr>
              <tr>
              <td>three</td>
              <td>four</td>
              </tr>
              </tbody>
              </table>
              """.rstrip()
      )
      self.assertEqual(text_plugin.make_table(array2d), expected_table)
  
      expected_table_with_headers = textwrap.dedent(
          """\
              <table>
              <thead>
              <tr>
              <th>c1</th>
              <th>c2</th>
              </tr>
              </thead>
              <tbody>
              <tr>
              <td>one</td>
              <td>two</td>
              </tr>
              <tr>
              <td>three</td>
              <td>four</td>
              </tr>
              </tbody>
              </table>
              """.rstrip()
      )
  
      actual_with_headers = text_plugin.make_table(
          array2d, headers=["c1", "c2"]
      )
      self.assertEqual(actual_with_headers, expected_table_with_headers)
  
      array_1d = np.array(["one", "two", "three", "four", "five"])
      expected_1d = textwrap.dedent(
          """\
              <table>
              <tbody>
              <tr>
              <td>one</td>
              </tr>
              <tr>
              <td>two</td>
              </tr>
              <tr>
              <td>three</td>
              </tr>
              <tr>
              <td>four</td>
              </tr>
              <tr>
              <td>five</td>
              </tr>
              </tbody>
              </table>
              """.rstrip()
      )
      self.assertEqual(text_plugin.make_table(array_1d), expected_1d)
  
      expected_1d_with_headers = textwrap.dedent(
          """\
              <table>
              <thead>
              <tr>
              <th>X</th>
              </tr>
              </thead>
              <tbody>
              <tr>
              <td>one</td>
              </tr>
              <tr>
              <td>two</td>
              </tr>
              <tr>
              <td>three</td>
              </tr>
              <tr>
              <td>four</td>
              </tr>
              <tr>
              <td>five</td>
              </tr>
              </tbody>
              </table>
              """.rstrip()
      )
      actual_1d_with_headers = text_plugin.make_table(
          array_1d, headers=["X"]
      )
      self.assertEqual(actual_1d_with_headers, expected_1d_with_headers)
  
imports: import collections.abc
  import os
  import textwrap
  import numpy
  import tensorflow
  from tensorboard import plugin_util
  from tensorboard import context
  from tensorboard.backend.event_processing import data_provider
  from tensorboard.backend.event_processing import plugin_event_multiplexer
  from tensorboard.plugins import base_plugin
  from tensorboard.plugins.text import text_plugin
  from tensorboard.util import test_util
label_desc: Use image node_id 7 for calling the TextPluginTest obj's underlying member method code with example usage: obj.testTableGeneration() without return types