18574: Adds 'preferred_label' virtual attribute. Avoids storing the voc twice.
[arvados.git] / sdk / python / tests / test_vocabulary.py
index 49fd601262be0aa1616f7389b7af33ddff55e9cb..ccaa7fe88d68889c8103d995f8179848dc94261d 100644 (file)
@@ -74,14 +74,18 @@ class VocabularyTest(unittest.TestCase):
         self.assertEqual(vk.strict, False)
         self.assertEqual(vk.identifier, 'IDTAGANIMALS')
         self.assertEqual(vk.aliases, ['Animal', 'Creature'])
+        self.assertEqual(vk.preferred_label, 'Animal')
 
         vv = vk.value_aliases['human']
         self.assertEqual(vv.identifier, 'IDVALANIMAL1')
         self.assertEqual(vv.aliases, ['Human', 'Homo sapiens'])
+        self.assertEqual(vv.preferred_label, 'Human')
 
         self.assertEqual(voc['creature']['human'].identifier, vv.identifier)
         self.assertEqual(voc['Creature']['Human'].identifier, vv.identifier)
         self.assertEqual(voc['CREATURE']['HUMAN'].identifier, vv.identifier)
+        with self.assertRaises(KeyError):
+            inexistant = voc['foo']
 
     def test_empty_vocabulary(self):
         voc = vocabulary.Vocabulary()