def test_conflict_free_trivially(self):
     baba = ExampleFrameworks.valid_BABA_framework()
     self.assertTrue(Semantics.conflict_free(baba, []))
     self.assertTrue(Semantics.conflict_free(baba, [a]))
     self.assertTrue(Semantics.conflict_free(baba, [a, b, c]))
     self.assertFalse(Semantics.conflict_free(baba, [b, d]))
     self.assertFalse(Semantics.conflict_free(baba, [a, b, c, d, e]))
 def test_conflict_free_larger_framework(self):
     baba = ExampleFrameworks.larger_framework()
     self.assertTrue(Semantics.conflict_free(baba, []),
                     "Expected: conflict free")
     self.assertTrue(Semantics.conflict_free(baba, [b, e, f]),
                     "Expected: conflict free")
     self.assertTrue(Semantics.conflict_free(baba, [b, b, e, f]),
                     "Expected: conflict free")
     self.assertTrue(Semantics.conflict_free(baba, [b, b, i, f, g, h]),
                     "Expected: conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [b, d, e, f]),
                      "Expected: NOT conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [b, e, f, g, h]),
                      "Expected: NOT conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [b, e, f, i]),
                      "Expected: NOT conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [b, d, e, f, g, h, i]),
                      "Expected: NOT conflict free")
 def test_conflict_free(self):
     baba = ExampleFrameworks.with_contraries()
     self.assertTrue(Semantics.conflict_free(baba, []),
                     "Expected: conflict free")
     self.assertTrue(Semantics.conflict_free(baba, [d, e]),
                     "Expected: conflict free")
     self.assertTrue(Semantics.conflict_free(baba, [d, e, f, h]),
                     "Expected: conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [d, e, f, g]),
                      "Expected: NOT conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [d, e, h, i]),
                      "Expected: NOT conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [d, e, f, g, h, i]),
                      "Expected: NOT conflict free")
 def test_conflict_free_venice_framework(self):
     baba = ExampleFrameworks.venice_framework()
     self.assertTrue(Semantics.conflict_free(baba, [a]),
                     "Expected: conflict free")
     self.assertTrue(Semantics.conflict_free(baba, [b]),
                     "Expected: conflict free")
     self.assertTrue(Semantics.conflict_free(baba, [c]),
                     "Expected: conflict free")
     self.assertTrue(Semantics.conflict_free(baba, [d]),
                     "Expected: conflict free")
     self.assertTrue(Semantics.conflict_free(baba, [e]),
                     "Expected: conflict free")
     self.assertTrue(Semantics.conflict_free(baba, [a, c]),
                     "Expected: conflict free")
     self.assertTrue(Semantics.conflict_free(baba, [a, d]),
                     "Expected: conflict free")
     self.assertTrue(Semantics.conflict_free(baba, [a, e]),
                     "Expected: conflict free")
     self.assertTrue(Semantics.conflict_free(baba, [b, d]),
                     "Expected: conflict free")
     self.assertTrue(Semantics.conflict_free(baba, [b, e]),
                     "Expected: conflict free")
     self.assertTrue(Semantics.conflict_free(baba, [c, e]),
                     "Expected: conflict free")
     self.assertTrue(Semantics.conflict_free(baba, [a, c, e]),
                     "Expected: conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [b, c]),
                      "Expected: NOT conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [c, d]),
                      "Expected: NOT conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [a, b, c]),
                      "Expected: NOT conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [a, b, d]),
                      "Expected: NOT conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [a, b, e]),
                      "Expected: NOT conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [b, c, d]),
                      "Expected: NOT conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [b, c, e]),
                      "Expected: NOT conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [c, d, e]),
                      "Expected: NOT conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [a, b, c, d]),
                      "Expected: NOT conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [a, b, c, e]),
                      "Expected: NOT conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [a, b, d, e]),
                      "Expected: NOT conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [a, c, d, e]),
                      "Expected: NOT conflict free")
     self.assertFalse(Semantics.conflict_free(baba, [a, b, c, d, e]),
                      "Expected: NOT conflict free")