class_docstr: These tests are drawn from games presented in The Book of Why by Judea Pearl. See the Jupyter Notebook called
  Causal Games in the examples folder for further explanation about each of these.
class_docstr_tok: ["These","tests","are","drawn","from","games","presented","in","The","Book","of","Why","by","Judea","Pearl",".","See","the","Jupyter","Notebook","called","Causal","Games","in","the","examples","folder","for","further","explanation","about","each","of","these","."]
code: def test_game1(self):
      game1 = BayesianNetwork([("X", "A"), ("A", "Y"), ("A", "B")])
      inference = CausalInference(game1)
      self.assertTrue(
          inference.is_valid_backdoor_adjustment_set("X", "Y")
      )
      deconfounders = inference.get_all_backdoor_adjustment_sets(
          "X", "Y"
      )
      self.assertEqual(deconfounders, frozenset())
  
imports: import unittest
  import numpy
  import numpy.testing
  import pandas
  from pgmpy.factors.discrete import TabularCPD
  from pgmpy.inference.CausalInference import CausalInference
  from pgmpy.models import BayesianNetwork
label_desc: Use image node_id 1 for calling the TestBackdoorPaths obj's underlying member method code with example usage: obj.test_game1() without return types