void CompositionTest::has_instance_with_his_parent_component() { ICompositionInstance *compInstance = new CompositionInstanceMock(); Composition *composition = new Composition(compInstance); CPPUNIT_ASSERT_EQUAL(compInstance, composition->getSelfInstance()); CompositionFactory::dispose(composition); }
void CompositionTest::delete_selfInstance_port_removes_dependant_connections() { Component *comp1 = ComponentFactory::produce("comp1", {"in"}, {"out"}); Composition *composition = new Composition(new CompositionInstance(comp1)); comp1->setImplementation(composition); const auto inst = composition->getSelfInstance(); auto portIn = inst->getPorts()[0]; auto portOut = inst->getPorts()[1]; auto connection = ConnectionFactory::produce(portIn, portOut); composition->getConnections().add(connection); ComponentPort *port = comp1->getPorts()[0]; CPPUNIT_ASSERT_EQUAL(size_t(1), composition->getConnections().size()); comp1->getPorts().remove(port); CPPUNIT_ASSERT_EQUAL(size_t(0), composition->getConnections().size()); ComponentFactory::dispose(comp1); }