Exemplo n.º 1
0
    def test_object_link_classifier_bundable(self):
        self.create_simple_link_object_test_setup()

        bundle = CBundle("Bundle", elements=self.a.get_connected_elements())
        eq_(set(bundle.elements), {self.a, self.a1, self.a2, self.b})

        try:
            bundle.elements = self.a.get_connected_elements(add_links=True)
            exception_expected_()
        except CException as e:
            eq_(
                "unknown keyword argument 'add_links', should be one of:" +
                " ['add_associations', 'add_bundles', 'process_bundles', 'stop_elements_inclusive', "
                + "'stop_elements_exclusive']", e.value)

        eq_(self.a_association.bundles, [])

        bundle.elements = self.a.get_connected_elements(add_associations=True)
        eq_(set(bundle.elements),
            {self.a, self.a1, self.a2, self.b, self.a_association})

        eq_(self.a_association.bundles, [bundle])

        bundle2 = CBundle("Bundle2",
                          elements=self.a_association.get_connected_elements(
                              add_associations=True))
        eq_(set(bundle2.elements),
            {self.a, self.a1, self.a2, self.b, self.a_association})
        eq_(set(self.a_association.bundles), {bundle, bundle2})

        bundle2.delete()
        eq_(set(self.a_association.bundles), {bundle})

        self.a_association.delete()
        eq_(set(bundle.elements), {self.a, self.a1, self.a2, self.b})
Exemplo n.º 2
0
 def test_bundle_defined_stereotype(self):
     s1 = CStereotype("s1")
     s2 = CStereotype("s2")
     s3 = CStereotype("s3")
     eq_(set(self.b1.get_elements(type=CStereotype)), set())
     b1 = CBundle("B1", elements=[s1, s2, s3])
     eq_(set(b1.elements), {s1, s2, s3})
     cl = CClass(self.mcl, "C", bundles=b1)
     eq_(set(b1.elements), {s1, s2, s3, cl})
     eq_(set(b1.get_elements(type=CStereotype)), {s1, s2, s3})
     b2 = CBundle("B2")
     b2.elements = [s2, s3]
     eq_(set(b2.get_elements(type=CStereotype)), {s2, s3})
     eq_(set(s1.bundles), {b1})
     eq_(set(s2.bundles), {b1, b2})
     eq_(set(s3.bundles), {b1, b2})
 def test_bundle_defined_classes(self):
     cl1 = CClass(self.mcl, "Class1")
     cl2 = CClass(self.mcl, "Class2")
     cl3 = CClass(self.mcl, "Class3")
     eq_(set(self.b1.get_elements(type=CClass)), set())
     b1 = CBundle("B1", elements=[cl1, cl2, cl3])
     eq_(set(b1.elements), {cl1, cl2, cl3})
     self.mcl.bundles = b1
     eq_(set(b1.elements), {cl1, cl2, cl3, self.mcl})
     eq_(set(b1.get_elements(type=CClass)), {cl1, cl2, cl3})
     b2 = CBundle("B2")
     b2.elements = [cl2, cl3]
     eq_(set(b2.get_elements(type=CClass)), {cl2, cl3})
     eq_(set(cl1.bundles), {b1})
     eq_(set(cl2.bundles), {b1, b2})
     eq_(set(cl3.bundles), {b1, b2})
 def test_bundle_defined_metaclasses(self):
     m1 = CMetaclass("M1")
     m2 = CMetaclass("M2")
     m3 = CMetaclass("M3")
     eq_(set(self.b1.get_elements(type=CMetaclass)), set())
     b1 = CBundle("B1", elements=[m1, m2, m3])
     eq_(set(b1.elements), {m1, m2, m3})
     cl = CClass(m1, "C", bundles=b1)
     eq_(set(b1.elements), {m1, m2, m3, cl})
     eq_(set(b1.get_elements(type=CMetaclass)), {m1, m2, m3})
     b2 = CBundle("B2")
     b2.elements = [m2, m3]
     eq_(set(b2.get_elements(type=CMetaclass)), {m2, m3})
     eq_(set(m1.bundles), {b1})
     eq_(set(m2.bundles), {b1, b2})
     eq_(set(m3.bundles), {b1, b2})
Exemplo n.º 5
0
 def test_bundle_defined_enums(self):
     e1 = CEnum("E1", values=["A", "B", "C"])
     e2 = CEnum("E2", values=["A", "B", "C"])
     e3 = CEnum("E3", values=["A", "B", "C"])
     eq_(set(self.b1.get_elements(type=CEnum)), set())
     b1 = CBundle("B1", elements=[e1, e2, e3])
     eq_(set(b1.elements), {e1, e2, e3})
     self.mcl.bundles = b1
     eq_(set(b1.elements), {e1, e2, e3, self.mcl})
     eq_(set(b1.get_elements(type=CEnum)), {e1, e2, e3})
     b2 = CBundle("B2")
     b2.elements = [e2, e3]
     eq_(set(b2.get_elements(type=CEnum)), {e2, e3})
     eq_(set(e1.bundles), {b1})
     eq_(set(e2.bundles), {b1, b2})
     eq_(set(e3.bundles), {b1, b2})
 def test_bundle_defined_by_bundle_list(self):
     b1 = CBundle("B1")
     b2 = CBundle("B2")
     b3 = CBundle("P3")
     eq_(set(self.b1.get_elements(type=CBundle)), set())
     ba = CBundle("PA", elements=[b1, b2, b3])
     eq_(set(ba.elements), {b1, b2, b3})
     self.mcl.bundles = ba
     eq_(set(ba.elements), {b1, b2, b3, self.mcl})
     eq_(set(ba.get_elements(type=CBundle)), {b1, b2, b3})
     bb = CBundle("PB")
     bb.elements = [b2, b3]
     eq_(set(bb.get_elements(type=CBundle)), {b2, b3})
     eq_(set(b1.bundles), {ba})
     eq_(set(b2.bundles), {ba, bb})
     eq_(set(b3.bundles), {ba, bb})
     eq_(set(ba.bundles), set())
     eq_(set(bb.bundles), set())
     eq_(set(b1.elements), set())
     eq_(set(b2.elements), set())
     eq_(set(b3.elements), set())