def test_and(self):
self._test_incompatible_types_fail(operator.__and__)
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, no_flags)
self.assertEqual(f0 & all_flags, f0)
self.assertEqual(f0 & f0, f0)
self.assertEqual(f0 & f1, no_flags)
self.assertEqual(f0 & f2, no_flags)
self.assertEqual(f0 & f01, f0)
self.assertEqual(f0 & f02, f0)
self.assertEqual(f0 & f12, no_flags)
self.assertEqual(f01 & no_flags, no_flags)
self.assertEqual(f01 & all_flags, f01)
self.assertEqual(f01 & f0, f0)
self.assertEqual(f01 & f1, f1)
self.assertEqual(f01 & f2, no_flags)
self.assertEqual(f01 & f01, f01)
self.assertEqual(f01 & f02, f0)
self.assertEqual(f01 & f12, f1)
self.assertEqual(all_flags & no_flags, no_flags)
self.assertEqual(all_flags & all_flags, all_flags)
self.assertEqual(all_flags & f0, f0)
self.assertEqual(all_flags & f1, f1)
self.assertEqual(all_flags & f2, f2)
self.assertEqual(all_flags & f01, f01)
self.assertEqual(all_flags & f02, f02)
self.assertEqual(all_flags & f12, f12)