code: def average_treatment_effect_test(
      self,
      dataset="linear",
      beta=10,
      num_common_causes=1,
      num_instruments=1,
      num_effect_modifiers=0,
      num_treatments=1,
      num_frontdoor_variables=0,
      num_samples=100000,
      treatment_is_binary=True,
      treatment_is_category=False,
      outcome_is_binary=False,
      confidence_intervals=False,
      test_significance=False,
      method_params=None,
  ):
      if dataset == "linear":
          data = dowhy.datasets.linear_dataset(
              beta=beta,
              num_common_causes=num_common_causes,
              num_instruments=num_instruments,
              num_effect_modifiers=num_effect_modifiers,
              num_treatments=num_treatments,
              num_frontdoor_variables=num_frontdoor_variables,
              num_samples=num_samples,
              treatment_is_binary=treatment_is_binary,
              treatment_is_category=treatment_is_category,
              outcome_is_binary=outcome_is_binary,
          )
      elif dataset == "simple-iv":
          data = dowhy.datasets.simple_iv_dataset(
              beta=beta,
              num_treatments=num_treatments,
              num_samples=num_samples,
              treatment_is_binary=treatment_is_binary,
              outcome_is_binary=outcome_is_binary,
          )
      else:
          raise ValueError("Dataset type not supported.")
  
      target_estimand = identify_effect_auto(
          build_graph_from_str(data["gml_graph"]),
          observed_nodes=list(data["df"].columns),
          action_nodes=data["treatment_name"],
          outcome_nodes=data["outcome_name"],
          estimand_type=EstimandType.NONPARAMETRIC_ATE,
      )
      target_estimand.set_identifier_method(self._identifier_method)
      estimator_ate = self._Estimator(
          identified_estimand=target_estimand,
          **method_params,
      )
  
      estimator_ate.fit(
          data["df"],
          effect_modifier_names=data["effect_modifier_names"],
      )
  
      true_ate = data["ate"]
      ate_estimate = estimator_ate.estimate_effect(
          data["df"],
          control_value=0,
          treatment_value=1,
          test_significance=test_significance,
          evaluate_effect_strength=False,
          confidence_intervals=confidence_intervals,
          target_units="ate",
          **method_params,
      )
      str(ate_estimate)  # checking if str output is correctly created
      error = abs(ate_estimate.value - true_ate)
      print(
          "Error in ATE estimate = {0} with tolerance {1}%. Estimated={2},True={3}".format(
              error,
              self._error_tolerance * 100,
              ate_estimate.value,
              true_ate,
          )
      )
      res = (
          True
          if (error < abs(true_ate) * self._error_tolerance)
          else False
      )
      assert res
      # Compute confidence intervals, standard error and significance tests
      if confidence_intervals:
          ate_estimate.get_confidence_intervals()
          ate_estimate.get_confidence_intervals(confidence_level=0.99)
          ate_estimate.get_confidence_intervals(method="bootstrap")
          ate_estimate.get_standard_error()
          ate_estimate.get_standard_error(method="bootstrap")
      if test_significance:
          ate_estimate.test_stat_significance()
          ate_estimate.test_stat_significance(method="bootstrap")
  
file_path: dowhy/tests/causal_estimators/base.py
imports: import itertools
  import dowhy.datasets
  from dowhy import EstimandType, identify_effect_auto
  from dowhy.graph import build_graph_from_str
label_desc: Use image node_id 2 for calling the SimpleEstimator obj's underlying member method code with example usage: obj.average_treatment_effect_test(dataset, beta, num_common_causes, num_instruments, num_effect_modifiers, num_treatments, num_frontdoor_variables, num_samples, treatment_is_binary, treatment_is_category, outcome_is_binary, confidence_intervals, test_significance, method_params) without return types