public void TestEAMock() { EAMetaModel meta = new EAMetaModel(); EARepository rep = EARepository.Repository; EAElement metaAPI = new EAElement(); metaAPI.Name = "API"; EAElement api = new EAElement(); api.Name = "api"; api.Type = "Class"; api.Stereotype = "stereotype"; api.ClassifierID = metaAPI.ElementID; api.RunState = "runstate"; EAElement resource = new EAElement(); resource.Name = "/resource"; EA.Collection connectors = api.Connectors; object con = connectors.AddNew("", RoundTripAddIn.RoundTripAddInClass.EA_TYPE_ASSOCIATION); EAConnector c = (EAConnector)con; c.ClientID = api.ElementID; c.SupplierID = resource.ElementID; c.SupplierEnd.Role = "SupplierRole"; Assert.AreEqual(1, api.Connectors.Count); EAElement metaAPI2 = (EAElement)rep.GetElementByID(metaAPI.ElementID); Assert.AreEqual(metaAPI.ElementID, metaAPI2.ElementID); EAElement api2 = (EAElement)rep.GetElementByID(c.ClientID); EAElement resource2 = (EAElement)rep.GetElementByID(c.SupplierID); Assert.AreEqual(api.ElementID, api2.ElementID); Assert.AreEqual(resource.ElementID, resource2.ElementID); Assert.IsNotNull(c.SupplierEnd); Assert.IsNotNull(c.SupplierEnd.Role); }
/// <summary> /// Функция записывает в эанные ElementData идентификаторы коннекторов (на основе обработки ConnectorData) /// </summary> private static void SyncElementConnectorData() { foreach (ElementData elementData in ElementData.Values) { elementData._ConnectorDataIDs = null; } foreach (ConnectorData connectorData in ConnectorData.Values) { ElementData sourceElementData; if (ElementData.ContainsKey(connectorData.SourceElementID)) { sourceElementData = ElementData[connectorData.SourceElementID]; } else // небиблиотечный элемент { EA.Element element = EARepository.GetElementByID(connectorData.SourceElementID); sourceElementData = new ElementData(element); } if (sourceElementData._ConnectorDataIDs == null) { sourceElementData._ConnectorDataIDs = new List <int>(); } sourceElementData._ConnectorDataIDs.Add(connectorData.ConnectorID); ElementData targetElementData; if (ElementData.ContainsKey(connectorData.TargetElementID)) { targetElementData = ElementData[connectorData.TargetElementID]; } else { EA.Element element = EARepository.GetElementByID(connectorData.TargetElementID); targetElementData = new ElementData(element); } if (targetElementData._ConnectorDataIDs == null) { targetElementData._ConnectorDataIDs = new List <int>(); } targetElementData._ConnectorDataIDs.Add(connectorData.ConnectorID); } }