Initial import
[py-rsbac] / tests / flags.py
1 # -*- coding:utf-8 -*-
2
3 # <summary>
4 # Copyright (C) <year>  <name> <email>
5
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
10
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19
20 import _rsbac_test_common
21 import rsbac
22
23 def main() :
24     bits = [
25         ( 0 , 'x' ) ,
26         ( 1 , 'y' ) ,
27         ( 2 , 'z' )
28         ]
29     Attribute = rsbac._flags.buildFlagsClass( 'Attribute' , ( object , ) , bits )
30     a = Attribute( 5 )
31     a |= Attribute( 2 )
32     a &= ~Attribute( 'y' , 'z' )
33     print ~Attribute()
34     print a
35     print a.x
36     print a.y
37     print a.z
38     print a , ~a
39     a = ~a
40     print a
41     print ~a
42     print int( a )
43
44 if __name__ == '__main__' :
45     main()
46
47 # Local Variables:
48 # indent-tabs-mode: nil
49 # python-indent: 4
50 # End: