Переглянути джерело

Corner cases for attr_optional

Yentl Van Tendeloo 7 роки тому
батько
коміт
9ad78ad792
1 змінених файлів з 14 додано та 0 видалено
  1. 14 0
      unit/test_all.py

+ 14 - 0
unit/test_all.py

@@ -2442,6 +2442,20 @@ class TestModelverse(unittest.TestCase):
             self.fail()
         except NoSimpleClassDiagramsModel:
             pass
+        
+        # Attribute not defined here
+        try:
+            attribute_optional("users/user/test/a", "D", "value", False)
+            self.fail()
+        except SuperclassAttribute:
+            assert read_defined_attrs("users/user/test/a", "D") == ({"name": "String", "additional_attr": "Natural", "new_name": "String"}, {"value": "Natural"})
+
+        # Non-existing attribute
+        try:
+            attribute_optional("users/user/test/a", "D", "adf", True)
+            self.fail()
+        except UnknownAttribute:
+            assert read_defined_attrs("users/user/test/a", "D") == ({"name": "String", "additional_attr": "Natural", "new_name": "String"}, {"value": "Natural"})
 
     def test_op_attribute_type(self):
         model_add("users/user/test/a", "formalisms/SimpleClassDiagrams", """