code: def build(self):
      g1 = self.g1
      g2 = self.g2
  
      # We will assume integer weights only.
      g1.add_edge("A", "B", color="green", weight=0, size=0.5)
      g1.add_edge("A", "B", color="red", weight=1, size=0.35)
      g1.add_edge("A", "B", color="red", weight=2, size=0.65)
  
      g2.add_edge("C", "D", color="green", weight=1, size=0.5)
      g2.add_edge("C", "D", color="red", weight=0, size=0.45)
      g2.add_edge("C", "D", color="red", weight=2, size=0.65)
  
      if g1.is_multigraph():
          self.em = iso.numerical_multiedge_match("weight", 1)
          self.emc = iso.categorical_multiedge_match("color", "")
          self.emcm = iso.categorical_multiedge_match(
              ["color", "weight"], ["", 1]
          )
          self.emg1 = iso.generic_multiedge_match("color", "red", eq)
          self.emg2 = iso.generic_multiedge_match(
              ["color", "weight", "size"],
              ["red", 1, 0.5],
              [eq, eq, math.isclose],
          )
      else:
          self.em = iso.numerical_edge_match("weight", 1)
          self.emc = iso.categorical_edge_match("color", "")
          self.emcm = iso.categorical_edge_match(
              ["color", "weight"], ["", 1]
          )
          self.emg1 = iso.generic_multiedge_match("color", "red", eq)
          self.emg2 = iso.generic_edge_match(
              ["color", "weight", "size"],
              ["red", 1, 0.5],
              [eq, eq, math.isclose],
          )
  
imports: import math
  from operator import eq
  import networkx
  import networkx.algorithms.isomorphism
label_desc: Use image node_id 2 for calling the TestEdgeMatch_MultiGraph obj's underlying member method code with example usage: obj.build() without return types