def test_defends_with_empty_body_rules(self):
     baba = ExampleFrameworks.cow_framework()
     self.assertFalse(Semantics.defends(baba, [],
                                        ExampleFrameworks.not_HOC))
     self.assertTrue(Semantics.defends(baba, [], ExampleFrameworks.not_FM))
    def test_defends(self):
        self.assertTrue(Semantics.defends(venice_baba, [e, c], a))
        self.assertTrue(Semantics.defends(venice_baba, [c], a))
        self.assertTrue(Semantics.defends(venice_baba, [d], b))
        self.assertFalse(Semantics.defends(venice_baba, [a, c], e))
        self.assertFalse(Semantics.defends(venice_baba, [a, b, c], d))
        self.assertFalse(Semantics.defends(venice_baba, [d, e], a))

        self.assertTrue(Semantics.defends(s_baba, [a, c, f], e))
        self.assertTrue(Semantics.defends(s_baba, [c], e))
        self.assertFalse(Semantics.defends(s_baba, [b, f], d))
        self.assertFalse(Semantics.defends(s_baba, [a, b], e))
        self.assertFalse(Semantics.defends(s_baba, [d, e, f], c))
        self.assertFalse(Semantics.defends(s_baba, [c, d, e, f], a))