test/unittest_rtags.py
branchtls-sprint
changeset 1533 bcd4bfff658b
parent 1284 63ed4f4ff38d
child 1721 694f6a50e138
--- a/test/unittest_rtags.py	Wed Apr 29 09:27:03 2009 +0200
+++ b/test/unittest_rtags.py	Wed Apr 29 10:29:03 2009 +0200
@@ -1,19 +1,19 @@
 from logilab.common.testlib import TestCase, unittest_main
-from cubicweb.rtags import RelationTags
+from cubicweb.rtags import RelationTags, RelationTagsSet
 
 class RelationTagsTC(TestCase):
-    
+
     def test_rtags_expansion(self):
         rtags = RelationTags()
-        rtags.set_rtag('primary', 'travaille', 'subject', 'Societe')
-        rtags.set_rtag('secondary', 'evaluee', 'subject')
-        rtags.set_rtag('generated', 'tags', 'object')
-        self.assertEquals(rtags.rtag('evaluee', 'subject', 'Note'), 'secondary')
-        self.assertEquals(rtags.rtag('travaille', 'subject', 'Societe'), 'primary')
-        self.assertEquals(rtags.rtag('travaille', 'subject', 'Note'), None)
-        self.assertEquals(rtags.rtag('tags', 'subject', 'Note'), None)
-        self.assertEquals(rtags.rtag('tags', 'object', 'Note'), 'generated')
-        
+        rtags.tag_relation('primary', ('Societe', 'travaille', '*'), 'subject', )
+        rtags.tag_relation('secondary', ('*', 'evaluee', '*'), 'subject')
+        rtags.tag_relation('generated', ('*', 'tags', '*'), 'object')        
+        self.assertEquals(rtags.get('evaluee', 'subject', 'Note'), 'secondary')
+        self.assertEquals(rtags.get('travaille', 'subject', 'Societe'), 'primary')
+        self.assertEquals(rtags.get('travaille', 'subject', 'Note'), None)
+        self.assertEquals(rtags.get('tags', 'subject', 'Note'), None)
+        self.assertEquals(rtags.get('tags', 'object', 'Note'), 'generated')
+
 #         self.assertEquals(rtags.rtag('evaluee', 'Note', 'subject'), set(('secondary', 'link')))
 #         self.assertEquals(rtags.is_inlined('evaluee', 'Note', 'subject'), False)
 #         self.assertEquals(rtags.rtag('evaluee', 'Personne', 'subject'), set(('secondary', 'link')))
@@ -30,7 +30,16 @@
 #         self.assertEquals(rtags.rtag('evaluee', 'Note', 'subject'), set(('inlineview', 'link')))
 #         self.assertEquals(rtags.is_inlined('evaluee', 'Note', 'subject'), True)
 #         self.assertEquals(rtags.rtag('evaluee', 'Personne', 'subject'), set(('secondary', 'link')))
-#         self.assertEquals(rtags.is_inlined('evaluee', 'Personne', 'subject'), False)        
+#         self.assertEquals(rtags.is_inlined('evaluee', 'Personne', 'subject'), False)
+
+
+    def test_rtagset_expansion(self):
+        rtags = RelationTagsSet()
+        rtags.tag_relation('primary', ('Societe', 'travaille', '*'), 'subject', )
+        rtags.tag_relation('secondary', ('*', 'travaille', '*'), 'subject')
+        self.assertEquals(rtags.get('travaille', 'subject', 'Societe'), set(('primary', 'secondary')))
+        self.assertEquals(rtags.get('travaille', 'subject', 'Note'), set(('secondary',)))
+        self.assertEquals(rtags.get('tags', 'subject', 'Note'), set())
 
 if __name__ == '__main__':
     unittest_main()