code: def testIsomorphicCallback(self):
      maps = []
  
      def callback(g1, g2, map1, map2):
          maps.append(map1)
          return True
  
      # Test VF2 callback
      g = Graph(
          6, [(0, 1), (2, 3), (4, 5), (0, 2), (2, 4), (1, 3), (3, 5)]
      )
      g.isomorphic_vf2(g, callback=callback)
      expected_maps = [
          [0, 1, 2, 3, 4, 5],
          [1, 0, 3, 2, 5, 4],
          [4, 5, 2, 3, 0, 1],
          [5, 4, 3, 2, 1, 0],
      ]
      self.assertTrue(sorted(maps) == expected_maps)
  
      maps[:] = []
      g3 = Graph.Full(4)
      g3.vs["color"] = [0, 1, 1, 0]
      g3.isomorphic_vf2(
          callback=callback, color1="color", color2="color"
      )
      expected_maps = [
          [0, 1, 2, 3],
          [0, 2, 1, 3],
          [3, 1, 2, 0],
          [3, 2, 1, 0],
      ]
      self.assertTrue(sorted(maps) == expected_maps)
  
imports: import unittest
  from random import shuffle
  from igraph import Graph
label_desc: Use image node_id 2 for calling the IsomorphismTests obj's underlying member method code with example usage: obj.testIsomorphicCallback() and returns: True