def test_sub(self):
self._test_incompatible_types_fail(operator.__sub__)
self.assertEqual(no_flags - no_flags, no_flags)
self.assertEqual(no_flags - all_flags, no_flags)
self.assertEqual(no_flags - f0, no_flags)
self.assertEqual(no_flags - f1, no_flags)
self.assertEqual(no_flags - f2, no_flags)
self.assertEqual(no_flags - f01, no_flags)
self.assertEqual(no_flags - f02, no_flags)
self.assertEqual(no_flags - f12, no_flags)
self.assertEqual(f0 - no_flags, f0)
self.assertEqual(f0 - all_flags, no_flags)
self.assertEqual(f0 - f0, no_flags)
self.assertEqual(f0 - f1, f0)
self.assertEqual(f0 - f2, f0)
self.assertEqual(f0 - f01, no_flags)
self.assertEqual(f0 - f02, no_flags)
self.assertEqual(f0 - f12, f0)
self.assertEqual(f01 - no_flags, f01)
self.assertEqual(f01 - all_flags, no_flags)
self.assertEqual(f01 - f0, f1)
self.assertEqual(f01 - f1, f0)
self.assertEqual(f01 - f2, f01)
self.assertEqual(f01 - f01, no_flags)
self.assertEqual(f01 - f02, f1)
self.assertEqual(f01 - f12, f0)
self.assertEqual(all_flags - no_flags, all_flags)
self.assertEqual(all_flags - all_flags, no_flags)
self.assertEqual(all_flags - f0, f12)
self.assertEqual(all_flags - f1, f02)
self.assertEqual(all_flags - f2, f01)
self.assertEqual(all_flags - f01, f2)
self.assertEqual(all_flags - f02, f1)
self.assertEqual(all_flags - f12, f0)