예제 #1
0
    def test_process_attribute_with_unknown_source(self):
        group_attr = AttrFactory.attribute_group(name="bar")
        target = ClassFactory.create()
        target.attrs.append(group_attr)

        with self.assertRaises(AnalyzerValueError) as cm:
            self.processor.process_attribute(target, group_attr)

        self.assertEqual("Group attribute not found: `bar`", str(cm.exception))
예제 #2
0
    def test_process_attribute_with_circular_reference(self):
        group_attr = AttrFactory.attribute_group(name="bar")
        target = ClassFactory.create(qname="bar", tag=Tag.GROUP)
        target.attrs.append(group_attr)

        target.status = Status.PROCESSING
        self.processor.container.add(target)

        self.processor.process_attribute(target, group_attr)
        self.assertFalse(group_attr in target.attrs)
예제 #3
0
    def test_process_attribute_with_group(self, mock_copy_group_attributes):
        complex_bar = ClassFactory.create(qname="bar", tag=Tag.COMPLEX_TYPE)
        group_bar = ClassFactory.create(qname="bar", tag=Tag.GROUP)
        group_attr = AttrFactory.attribute_group(name="bar")
        target = ClassFactory.create()
        target.attrs.append(group_attr)

        self.processor.container.add(complex_bar)
        self.processor.container.add(group_bar)
        self.processor.container.add(target)

        self.processor.process_attribute(target, group_attr)
        mock_copy_group_attributes.assert_called_once_with(
            group_bar, target, group_attr)
예제 #4
0
 def test_property_is_group(self):
     self.assertTrue(AttrFactory.group().is_group)
     self.assertTrue(AttrFactory.attribute_group().is_group)
     self.assertFalse(AttrFactory.element().is_group)