test/unittest_rtags.py
branchtls-sprint
changeset 1533 bcd4bfff658b
parent 1284 63ed4f4ff38d
child 1721 694f6a50e138
equal deleted inserted replaced
1532:111c52e0022f 1533:bcd4bfff658b
     1 from logilab.common.testlib import TestCase, unittest_main
     1 from logilab.common.testlib import TestCase, unittest_main
     2 from cubicweb.rtags import RelationTags
     2 from cubicweb.rtags import RelationTags, RelationTagsSet
     3 
     3 
     4 class RelationTagsTC(TestCase):
     4 class RelationTagsTC(TestCase):
     5     
     5 
     6     def test_rtags_expansion(self):
     6     def test_rtags_expansion(self):
     7         rtags = RelationTags()
     7         rtags = RelationTags()
     8         rtags.set_rtag('primary', 'travaille', 'subject', 'Societe')
     8         rtags.tag_relation('primary', ('Societe', 'travaille', '*'), 'subject', )
     9         rtags.set_rtag('secondary', 'evaluee', 'subject')
     9         rtags.tag_relation('secondary', ('*', 'evaluee', '*'), 'subject')
    10         rtags.set_rtag('generated', 'tags', 'object')
    10         rtags.tag_relation('generated', ('*', 'tags', '*'), 'object')        
    11         self.assertEquals(rtags.rtag('evaluee', 'subject', 'Note'), 'secondary')
    11         self.assertEquals(rtags.get('evaluee', 'subject', 'Note'), 'secondary')
    12         self.assertEquals(rtags.rtag('travaille', 'subject', 'Societe'), 'primary')
    12         self.assertEquals(rtags.get('travaille', 'subject', 'Societe'), 'primary')
    13         self.assertEquals(rtags.rtag('travaille', 'subject', 'Note'), None)
    13         self.assertEquals(rtags.get('travaille', 'subject', 'Note'), None)
    14         self.assertEquals(rtags.rtag('tags', 'subject', 'Note'), None)
    14         self.assertEquals(rtags.get('tags', 'subject', 'Note'), None)
    15         self.assertEquals(rtags.rtag('tags', 'object', 'Note'), 'generated')
    15         self.assertEquals(rtags.get('tags', 'object', 'Note'), 'generated')
    16         
    16 
    17 #         self.assertEquals(rtags.rtag('evaluee', 'Note', 'subject'), set(('secondary', 'link')))
    17 #         self.assertEquals(rtags.rtag('evaluee', 'Note', 'subject'), set(('secondary', 'link')))
    18 #         self.assertEquals(rtags.is_inlined('evaluee', 'Note', 'subject'), False)
    18 #         self.assertEquals(rtags.is_inlined('evaluee', 'Note', 'subject'), False)
    19 #         self.assertEquals(rtags.rtag('evaluee', 'Personne', 'subject'), set(('secondary', 'link')))
    19 #         self.assertEquals(rtags.rtag('evaluee', 'Personne', 'subject'), set(('secondary', 'link')))
    20 #         self.assertEquals(rtags.is_inlined('evaluee', 'Personne', 'subject'), False)
    20 #         self.assertEquals(rtags.is_inlined('evaluee', 'Personne', 'subject'), False)
    21 #         self.assertEquals(rtags.rtag('ecrit_par', 'Note', 'object'), set(('inlineview', 'link')))
    21 #         self.assertEquals(rtags.rtag('ecrit_par', 'Note', 'object'), set(('inlineview', 'link')))
    28 #         self.vreg.register_vobject_class(Personne2)
    28 #         self.vreg.register_vobject_class(Personne2)
    29 #         rtags = Personne2.rtags
    29 #         rtags = Personne2.rtags
    30 #         self.assertEquals(rtags.rtag('evaluee', 'Note', 'subject'), set(('inlineview', 'link')))
    30 #         self.assertEquals(rtags.rtag('evaluee', 'Note', 'subject'), set(('inlineview', 'link')))
    31 #         self.assertEquals(rtags.is_inlined('evaluee', 'Note', 'subject'), True)
    31 #         self.assertEquals(rtags.is_inlined('evaluee', 'Note', 'subject'), True)
    32 #         self.assertEquals(rtags.rtag('evaluee', 'Personne', 'subject'), set(('secondary', 'link')))
    32 #         self.assertEquals(rtags.rtag('evaluee', 'Personne', 'subject'), set(('secondary', 'link')))
    33 #         self.assertEquals(rtags.is_inlined('evaluee', 'Personne', 'subject'), False)        
    33 #         self.assertEquals(rtags.is_inlined('evaluee', 'Personne', 'subject'), False)
       
    34 
       
    35 
       
    36     def test_rtagset_expansion(self):
       
    37         rtags = RelationTagsSet()
       
    38         rtags.tag_relation('primary', ('Societe', 'travaille', '*'), 'subject', )
       
    39         rtags.tag_relation('secondary', ('*', 'travaille', '*'), 'subject')
       
    40         self.assertEquals(rtags.get('travaille', 'subject', 'Societe'), set(('primary', 'secondary')))
       
    41         self.assertEquals(rtags.get('travaille', 'subject', 'Note'), set(('secondary',)))
       
    42         self.assertEquals(rtags.get('tags', 'subject', 'Note'), set())
    34 
    43 
    35 if __name__ == '__main__':
    44 if __name__ == '__main__':
    36     unittest_main()
    45     unittest_main()