1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 __docformat__ = 'reStructuredText'
20
21 import unittest
22
23 from pytilities.delegation import Profile
24
25 -class MainTestCase(unittest.TestCase):
26 - def test_public(self):
27
28 a = Profile()
29 b = Profile()
30 a.add_mappings('rw', *'a b c'.split(), d='d')
31 b.add_mappings('rw', *'a b'.split(), d='e')
32
33
34 self.assertRaises(AssertionError, lambda: a | b)
35 self.assertRaises(AssertionError, lambda: a & b)
36
37
38 c = a - b
39 c = a ^ b
40
41
42 a = Profile()
43 b = Profile()
44 a.add_mappings('rw', 'a', c='d')
45 a.add_mappings('w', 'b')
46 b.add_mappings('rw', 'a', d='e')
47 b.add_mappings('r', 'b')
48
49 c = a | b
50 self.assert_(c.has_readable('a'))
51 self.assert_(c.has_readable('b'))
52 self.assert_(c.has_readable('c'))
53 self.assert_(c.has_readable('d'))
54 self.assert_(c.has_writable('a'))
55 self.assert_(c.has_writable('b'))
56 self.assert_(c.has_writable('c'))
57 self.assert_(c.has_writable('d'))
58
59 c = a & b
60 self.assert_(c.has_readable('a'))
61 self.assert_(c.has_writable('a'))
62
63 c = a - b
64 self.assert_(c.has_readable('c'))
65 self.assert_(c.has_writable('b'))
66 self.assert_(c.has_writable('c'))
67
68 c = a ^ b
69 self.assert_(c.has_readable('b'))
70 self.assert_(c.has_readable('c'))
71 self.assert_(c.has_readable('d'))
72 self.assert_(c.has_writable('b'))
73 self.assert_(c.has_writable('c'))
74 self.assert_(c.has_writable('d'))
75
76
77 c = a.copy()
78 c |= b
79
80 c = a.copy()
81 c &= b
82
83 c = a.copy()
84 c -= b
85
86 c = a.copy()
87 c ^= b
88