code: def test_hyperedges(self):
      h = graphistry.hypergraph(triangleNodes, verbose=False)
  
      self.assertEqual(
          len(h.keys()),
          len(["entities", "nodes", "edges", "events", "graph"]),
      )
  
      edges = pd.DataFrame(
          {
              "a1": [1, 2, 3] * 4,
              "a2": ["red", "blue", "green"] * 4,
              "id": ["a", "b", "c"] * 4,
              "🙈": ["æski ēˈmōjē", "😋", "s"] * 4,
              "edgeType": [
                  "a1",
                  "a1",
                  "a1",
                  "a2",
                  "a2",
                  "a2",
                  "id",
                  "id",
                  "id",
                  "🙈",
                  "🙈",
                  "🙈",
              ],
              "attribID": [
                  "a1::1",
                  "a1::2",
                  "a1::3",
                  "a2::red",
                  "a2::blue",
                  "a2::green",
                  "id::a",
                  "id::b",
                  "id::c",
                  "🙈::æski ēˈmōjē",
                  "🙈::😋",
                  "🙈::s",
              ],
              "EventID": [
                  "EventID::0",
                  "EventID::1",
                  "EventID::2",
                  "EventID::0",
                  "EventID::1",
                  "EventID::2",
                  "EventID::0",
                  "EventID::1",
                  "EventID::2",
                  "EventID::0",
                  "EventID::1",
                  "EventID::2",
              ],
          }
      )
  
      assertFrameEqual(h["edges"], edges)
      for k, v in [
          ("entities", 12),
          ("nodes", 15),
          ("edges", 12),
          ("events", 3),
      ]:
          self.assertEqual(len(h[k]), v)
  
imports: import datetime, logging, pandas, pyarrow
  import pytest
  import graphistry, graphistry.plotter
  from common import NoAuthTestCase
label_desc: Use image node_id 1 for calling the TestHypergraphPlain obj's underlying member method code with example usage: obj.test_hyperedges() without return types