def test_simple_macid_examples(self) -> None: get_basic_subgames() get_basic_subgames2() get_basic_subgames3() get_path_example() basic2agent_tie_break() two_agent_one_pne() two_agent_two_pne() two_agent_no_pne() two_agents_three_actions() basic_different_dec_cardinality()
def test_is_active_backdoor_trail(self) -> None: example = get_path_example() self.assertFalse(is_active_backdoor_trail(example, 'X3', 'X2')) self.assertTrue(is_active_backdoor_trail(example, 'X3', 'X2', ['D'])) self.assertFalse(is_active_backdoor_trail(example, 'X1', 'X2')) self.assertFalse(is_active_backdoor_trail(example, 'X1', 'X2', ['D'])) with self.assertRaises(Exception): self.assertTrue(is_active_backdoor_trail(example, 'A', 'X2', ['D'])) with self.assertRaises(Exception): self.assertTrue(is_active_backdoor_trail(example, 'X3', 'X2', ['A']))
def test_is_active_path(self) -> None: example = get_path_example() self.assertTrue(is_active_path(example, ['X1', 'D', 'U'])) self.assertFalse(is_active_path(example, ['X1', 'D', 'U'], ['D'])) self.assertFalse(is_active_path(example, ['X1', 'D', 'X2'])) self.assertTrue(is_active_path(example, ['X1', 'D', 'X2'], ['D'])) self.assertTrue(is_active_path(example, ['X1', 'D', 'X2'], ['U'])) with self.assertRaises(Exception): is_active_path(example, ['X1', 'D', 'A'], ['U']) with self.assertRaises(Exception): is_active_path(example, ['X1', 'D', 'X2'], ['A'])
def test_is_active_indirect_frontdoor_trail(self) -> None: example = get_path_example() self.assertTrue(is_active_indirect_frontdoor_trail(example, 'X2', 'X1', ['D'])) self.assertFalse(is_active_indirect_frontdoor_trail(example, 'X2', 'X1')) self.assertFalse(is_active_indirect_frontdoor_trail(example, 'X3', 'X1', ['D'])) self.assertFalse(is_active_indirect_frontdoor_trail(example, 'X3', 'X1')) self.assertFalse(is_active_indirect_frontdoor_trail(example, 'X1', 'U')) self.assertFalse(is_active_indirect_frontdoor_trail(example, 'X1', 'U', ['D', 'X2'])) with self.assertRaises(Exception): is_active_indirect_frontdoor_trail(example, 'A', 'U', ['D', 'X2']) with self.assertRaises(Exception): is_active_indirect_frontdoor_trail(example, 'X1', 'U', ['A', 'X2'])