class_docstr: Test behaviour of the learn_dynamic_structure of `from_numpy_dynamic`
class_docstr_tok: ["Test","behaviour","of","the","learn_dynamic_structure","of","`","from_numpy_dynamic","`"]
docstr: If tabu relationships are set, the corresponding edges must not exist
docstr_tok: ["If","tabu","relationships","are","set",",","the","corresponding","edges","must","not","exist"]
code: def test_multiple_tabu(self, data_dynotears_p2):
      """
      If tabu relationships are set, the corresponding edges must not exist
      """
      sm = from_numpy_dynamic(
          data_dynotears_p2["X"],
          data_dynotears_p2["Y"],
          tabu_edges=[(0, 1, 4), (0, 0, 3), (1, 1, 4), (1, 3, 4)],
          tabu_child_nodes=[0, 1],
          tabu_parent_nodes=[3],
      )
  
      assert ("1_lag0", "4_lag0") not in sm.edges
      assert ("0_lag0", "3_lag0") not in sm.edges
      assert ("1_lag1", "4_lag0") not in sm.edges
      assert ("3_lag1", "4_lag0") not in sm.edges
      assert not ([el for el in sm.edges if "0_lag" in el[1]])
      assert not ([el for el in sm.edges if "1_lag" in el[1]])
      assert not ([el for el in sm.edges if "3_lag" in el[0]])
  
imports: import re
  import networkx
  import numpy
  import pandas
  import pytest
  from causalnex.structure.dynotears import from_numpy_dynamic, from_pandas_dynamic
label_desc: Use image node_id 12 for calling the TestFromNumpyDynotears obj's underlying member method code with example usage: obj.test_multiple_tabu(data_dynotears_p2) without return types