18574: Fixes key_aliases/value_aliases indexing. Adds dict-style indexing.
[arvados.git] / sdk / python / tests / test_vocabulary.py
index 7aea129aff81dfa2fbbf9a14d18eac7c53239330..49fd601262be0aa1616f7389b7af33ddff55e9cb 100644 (file)
@@ -64,19 +64,31 @@ class VocabularyTest(unittest.TestCase):
 
     def perform_vocabulary_tests(self, voc):
         self.assertEqual(voc.strict_keys, False)
-        self.assertEqual(voc.key_aliases.keys(), set(['IDTAGANIMALS', 'IDTAGIMPORTANCE']))
+        self.assertEqual(
+            voc.key_aliases.keys(),
+            set(['IDTAGANIMALS', 'creature', 'animal',
+                'IDTAGIMPORTANCE', 'importance', 'priority'])
+        )
 
-        self.assertEqual(voc.key_aliases['IDTAGANIMALS'].strict, False)
-        self.assertEqual(set(voc.key_aliases['IDTAGANIMALS'].aliases), set(['animal', 'creature']))
-        self.assertEqual(voc.key_aliases['IDTAGANIMALS'].values.keys(), set(['IDVALANIMAL1', 'IDVALANIMAL2']))
-        self.assertEqual(voc.key_aliases['IDTAGANIMALS'].values['IDVALANIMAL1'].aliases, set(['human', 'homo sapiens']))
+        vk = voc.key_aliases['creature']
+        self.assertEqual(vk.strict, False)
+        self.assertEqual(vk.identifier, 'IDTAGANIMALS')
+        self.assertEqual(vk.aliases, ['Animal', 'Creature'])
+
+        vv = vk.value_aliases['human']
+        self.assertEqual(vv.identifier, 'IDVALANIMAL1')
+        self.assertEqual(vv.aliases, ['Human', 'Homo sapiens'])
+
+        self.assertEqual(voc['creature']['human'].identifier, vv.identifier)
+        self.assertEqual(voc['Creature']['Human'].identifier, vv.identifier)
+        self.assertEqual(voc['CREATURE']['HUMAN'].identifier, vv.identifier)
 
     def test_empty_vocabulary(self):
         voc = vocabulary.Vocabulary()
         self.assertEqual(voc.strict_keys, False)
         self.assertEqual(voc.key_aliases, {})
 
-    def test_load_vocabulary(self):
+    def test_vocabulary_explicit_instantiation(self):
         voc = vocabulary.Vocabulary(self.EXAMPLE_VOC)
         self.perform_vocabulary_tests(voc)