code: def test_get_conditional_ivs_union(self):
      self.assertEqual(
          self.union.get_conditional_ivs("yrsmill", "unionsen"),
          [("age", {"laboract", "deferenc"})],
      )
      # This case wouldn't have conditonal IV if the Total effect between `deferenc` and
      # `unionsen` needs to be computed because one of the conditional variable lies on the
      # effect path.
      self.assertEqual(
          self.union.get_conditional_ivs("deferenc", "unionsen"),
          [("age", {"yrsmill", "laboract"})],
      )
      self.assertEqual(
          self.union.get_conditional_ivs("laboract", "unionsen"),
          [("age", {"yrsmill", "deferenc"})],
      )
      self.assertEqual(
          self.union.get_conditional_ivs("deferenc", "laboract"), []
      )
  
      self.assertEqual(
          self.union.get_conditional_ivs("age", "laboract"),
          [("yrsmill", {"deferenc"})],
      )
      self.assertEqual(
          self.union.get_conditional_ivs("age", "deferenc"), []
      )
  
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 15 for calling the TestSEMGraph obj's underlying member method code with example usage: obj.test_get_conditional_ivs_union() without return types