code: def test_maximal_independent_set2(self):
      edges = [
          (0, 4),
          (0, 1),
          (0, 2),
          (1, 5),
          (1, 3),
          (2, 3),
          (2, 6),
          (3, 7),
          (4, 5),
          (4, 6),
          (5, 7),
          (6, 7),
      ]
      edges = [{"i": l, "j": r} for l, r in edges]
  
      t = hl.Table.parallelize(
          edges, hl.tstruct(i=hl.tint64, j=hl.tint64)
      )
      mis_t = hl.maximal_independent_set(t.i, t.j)
      self.assertTrue(
          mis_t.row.dtype == hl.tstruct(node=hl.tint64)
          and mis_t.globals.dtype == hl.tstruct()
      )
  
      mis = set([row.node for row in mis_t.collect()])
      maximal_indep_sets = [{0, 6, 5, 3}, {1, 4, 7, 2}]
      non_maximal_indep_sets = [{0, 7}, {6, 1}]
      self.assertTrue(
          mis in non_maximal_indep_sets or mis in maximal_indep_sets
      )
  
imports: import unittest
  import hail
  from ..helpers import *
label_desc: Use image node_id 6 for calling the Tests obj's underlying member method code with example usage: obj.test_maximal_independent_set2() without return types