code: def setUp(self):
      self.demo = SEMGraph(
          ebunch=[
              ("xi1", "x1"),
              ("xi1", "x2"),
              ("xi1", "x3"),
              ("xi1", "eta1"),
              ("eta1", "y1"),
              ("eta1", "y2"),
              ("eta1", "y3"),
              ("eta1", "y4"),
              ("eta1", "eta2"),
              ("xi1", "eta2"),
              ("eta2", "y5"),
              ("eta2", "y6"),
              ("eta2", "y7"),
              ("eta2", "y8"),
          ],
          latents=["xi1", "eta1", "eta2"],
          err_corr=[
              ("y1", "y5"),
              ("y2", "y6"),
              ("y2", "y4"),
              ("y3", "y7"),
              ("y4", "y8"),
              ("y6", "y8"),
          ],
      )
  
      self.union = SEMGraph(
          ebunch=[
              ("yrsmill", "unionsen"),
              ("age", "laboract"),
              ("age", "deferenc"),
              ("deferenc", "laboract"),
              ("deferenc", "unionsen"),
              ("laboract", "unionsen"),
          ],
          latents=[],
          err_corr=[("yrsmill", "age")],
      )
  
      self.demo_params = SEMGraph(
          ebunch=[
              ("xi1", "x1", 0.4),
              ("xi1", "x2", 0.5),
              ("xi1", "x3", 0.6),
              ("xi1", "eta1", 0.3),
              ("eta1", "y1", 1.1),
              ("eta1", "y2", 1.2),
              ("eta1", "y3", 1.3),
              ("eta1", "y4", 1.4),
              ("eta1", "eta2", 0.1),
              ("xi1", "eta2", 0.2),
              ("eta2", "y5", 0.7),
              ("eta2", "y6", 0.8),
              ("eta2", "y7", 0.9),
              ("eta2", "y8", 1.0),
          ],
          latents=["xi1", "eta1", "eta2"],
          err_corr=[
              ("y1", "y5", 1.5),
              ("y2", "y6", 1.6),
              ("y2", "y4", 1.9),
              ("y3", "y7", 1.7),
              ("y4", "y8", 1.8),
              ("y6", "y8", 2.0),
          ],
          err_var={
              "y1": 2.1,
              "y2": 2.2,
              "y3": 2.3,
              "y4": 2.4,
              "y5": 2.5,
              "y6": 2.6,
              "y7": 2.7,
              "y8": 2.8,
              "x1": 3.1,
              "x2": 3.2,
              "x3": 3.3,
              "eta1": 2.9,
              "eta2": 3.0,
              "xi1": 3.4,
          },
      )
  
      self.custom = SEMGraph(
          ebunch=[
              ("xi1", "eta1"),
              ("xi1", "y1"),
              ("xi1", "y4"),
              ("xi1", "x1"),
              ("xi1", "x2"),
              ("y4", "y1"),
              ("y1", "eta2"),
              ("eta2", "y5"),
              ("y1", "eta1"),
              ("eta1", "y2"),
              ("eta1", "y3"),
          ],
          latents=["xi1", "eta1", "eta2"],
          err_corr=[("y1", "y2"), ("y2", "y3")],
          err_var={},
      )
  
imports: import os
  import unittest
  import networkx
  import numpy
  import numpy.testing
  from pgmpy.models import SEM, SEMAlg, SEMGraph
label_desc: Use image node_id 1 for calling the TestSEMGraph obj's underlying member method code with example usage: obj.setUp() without return types