test/unittest_rtags.py
author sylvain.thenault@logilab.fr
Wed, 08 Apr 2009 11:30:57 +0200
branchtls-sprint
changeset 1284 63ed4f4ff38d
child 1533 bcd4bfff658b
permissions -rw-r--r--
basic testing of relation tags
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1284
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
     1
from logilab.common.testlib import TestCase, unittest_main
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
     2
from cubicweb.rtags import RelationTags
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
     3
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
     4
class RelationTagsTC(TestCase):
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
     5
    
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
     6
    def test_rtags_expansion(self):
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
     7
        rtags = RelationTags()
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
     8
        rtags.set_rtag('primary', 'travaille', 'subject', 'Societe')
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
     9
        rtags.set_rtag('secondary', 'evaluee', 'subject')
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    10
        rtags.set_rtag('generated', 'tags', 'object')
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    11
        self.assertEquals(rtags.rtag('evaluee', 'subject', 'Note'), 'secondary')
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    12
        self.assertEquals(rtags.rtag('travaille', 'subject', 'Societe'), 'primary')
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    13
        self.assertEquals(rtags.rtag('travaille', 'subject', 'Note'), None)
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    14
        self.assertEquals(rtags.rtag('tags', 'subject', 'Note'), None)
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    15
        self.assertEquals(rtags.rtag('tags', 'object', 'Note'), 'generated')
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    16
        
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    17
#         self.assertEquals(rtags.rtag('evaluee', 'Note', 'subject'), set(('secondary', 'link')))
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    18
#         self.assertEquals(rtags.is_inlined('evaluee', 'Note', 'subject'), False)
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    19
#         self.assertEquals(rtags.rtag('evaluee', 'Personne', 'subject'), set(('secondary', 'link')))
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    20
#         self.assertEquals(rtags.is_inlined('evaluee', 'Personne', 'subject'), False)
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    21
#         self.assertEquals(rtags.rtag('ecrit_par', 'Note', 'object'), set(('inlineview', 'link')))
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    22
#         self.assertEquals(rtags.is_inlined('ecrit_par', 'Note', 'object'), True)
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    23
#         class Personne2(Personne):
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    24
#             id = 'Personne'
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    25
#             __rtags__ = {
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    26
#                 ('evaluee', 'Note', 'subject') : set(('inlineview',)),
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    27
#                 }
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    28
#         self.vreg.register_vobject_class(Personne2)
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    29
#         rtags = Personne2.rtags
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    30
#         self.assertEquals(rtags.rtag('evaluee', 'Note', 'subject'), set(('inlineview', 'link')))
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    31
#         self.assertEquals(rtags.is_inlined('evaluee', 'Note', 'subject'), True)
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    32
#         self.assertEquals(rtags.rtag('evaluee', 'Personne', 'subject'), set(('secondary', 'link')))
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    33
#         self.assertEquals(rtags.is_inlined('evaluee', 'Personne', 'subject'), False)        
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    34
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    35
if __name__ == '__main__':
63ed4f4ff38d basic testing of relation tags
sylvain.thenault@logilab.fr
parents:
diff changeset
    36
    unittest_main()