code: def get_example_model(self):
      # Model structure: Z -> X -> Y; Z -> W -> Y
      example_model = BayesianNetwork(
          [("X", "Y"), ("Z", "X"), ("Z", "W"), ("W", "Y")]
      )
      cpd_z = TabularCPD(
          variable="Z", variable_card=2, values=[[0.2], [0.8]]
      )
  
      cpd_x = TabularCPD(
          variable="X",
          variable_card=2,
          values=[[0.1, 0.3], [0.9, 0.7]],
          evidence=["Z"],
          evidence_card=[2],
      )
  
      cpd_w = TabularCPD(
          variable="W",
          variable_card=2,
          values=[[0.2, 0.9], [0.8, 0.1]],
          evidence=["Z"],
          evidence_card=[2],
      )
  
      cpd_y = TabularCPD(
          variable="Y",
          variable_card=2,
          values=[[0.3, 0.4, 0.7, 0.8], [0.7, 0.6, 0.3, 0.2]],
          evidence=["X", "W"],
          evidence_card=[2, 2],
      )
  
      example_model.add_cpds(cpd_z, cpd_x, cpd_w, cpd_y)
  
      return example_model
  
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 3 for calling the TestDoQuery obj's underlying member method code with example usage: obj.get_example_model() and returns: example_model