def test_permission_difference(self): p1 = Permission(('a', 'b'), ('a', 'c')) p2 = Permission(('a', 'c'), ('d', 'e')) p3 = p1.difference(p2) assert p3.needs == set([('a', 'b')]) p4 = p2.difference(p1) assert p4.needs == set([('d', 'e')])
def test_permission_or(self): p1 = Permission(RoleNeed('boss'), RoleNeed('lackey')) p2 = Permission(RoleNeed('lackey'), RoleNeed('underling')) p3 = p1 | p2 p4 = p1.difference(p2) assert p3.needs == p4.needs
def test_permission_difference_excludes(self): p1 = Permission(RoleNeed('boss')).reverse() p2 = Permission(RoleNeed('lackey')).reverse() p3 = p1 - p2 p4 = p1.difference(p2) # parity with set operations p3excludes = p1.excludes - p2.excludes assert p3.excludes == p4.excludes assert p3.excludes == p3excludes
def test_permission_difference(self): p1 = Permission(RoleNeed('boss')) p2 = Permission(RoleNeed('lackey')) p3 = p1 - p2 p4 = p1.difference(p2) # parity with set operations p3needs = p1.needs - p2.needs assert p3.needs == p4.needs assert p3.needs == p3needs