| 3786 | self.assertIs(type(e), Perm) |
| 3787 | |
| 3788 | def test_programatic_function_iterable(self): |
| 3789 | Perm = Flag('Perm', (('R', 2), ('W', 8), ('X', 32))) |
| 3790 | lst = list(Perm) |
| 3791 | self.assertEqual(len(lst), len(Perm)) |
| 3792 | self.assertEqual(len(Perm), 3, Perm) |
| 3793 | self.assertEqual(lst, [Perm.R, Perm.W, Perm.X]) |
| 3794 | for i, n in enumerate('R W X'.split()): |
| 3795 | v = 1<<(2*i+1) |
| 3796 | e = Perm(v) |
| 3797 | self.assertEqual(e.value, v) |
| 3798 | self.assertEqual(type(e.value), int) |
| 3799 | self.assertEqual(e.name, n) |
| 3800 | self.assertIn(e, Perm) |
| 3801 | self.assertIs(type(e), Perm) |
| 3802 | |
| 3803 | def test_programatic_function_from_dict(self): |
| 3804 | Perm = Flag('Perm', OrderedDict((('R', 2), ('W', 8), ('X', 32)))) |