public void Context() { packages = new List <Package>(); elements = new List <Element>(); var eaRepository = new EARepository(); var model = eaRepository.AddModel("Model", m => { }); packages.Add(model); var otherPackage = CreatePackage(model, "other package"); var bInformationV = CreatePackage(model, Stereotype.bInformationV); bLibrary = CreatePackage(bInformationV, Stereotype.bLibrary); CreatePackage(bLibrary, Stereotype.PRIMLibrary); CreatePackage(bLibrary, Stereotype.ENUMLibrary); CreatePackage(bLibrary, Stereotype.CDTLibrary); CreatePackage(bLibrary, Stereotype.CCLibrary); CreatePackage(bLibrary, Stereotype.BDTLibrary); CreatePackage(bLibrary, Stereotype.BIELibrary); CreatePackage(bLibrary, Stereotype.DOCLibrary); CreateElement(otherPackage, "other element"); contentLoader = new RepositoryContentLoader(eaRepository); }
public void Context() { eaRepository = new EARepository(); bLibrary = null; eaRepository.AddModel("Model", model => { bLibrary = ABLibraryWithoutIssues("bLibrary", model); }); validatingCCRepository = new ValidatingCCRepository(eaRepository); issueHandler = new ValidationIssueHandler(); validatingCCRepository.ValidationIssuesUpdated += issueHandler.ValidationIssuesUpdated; validatingCCRepository.LoadRepositoryContent(); issueHandler.AssertReceivedIssuesTotal(0); issueHandler.Reset(); }
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> /// Функция проверки, что текущая диаграмма установлена /// Могут быть установлены параметры, для авто открытия текущей или устанавливающий открытую на экране как текующую /// </summary> /// <param name="autoOpenLibDiagram"></param>/// /// <param name="showUI"></param> /// <returns></returns> public static bool CheckCurrentDiagram(bool autoOpenLibDiagram = false, bool showUI = true) { bool result = false; EA.Diagram currentOpenedDiagram = EARepository.GetCurrentDiagram(); EA.Diagram currentLibDiagram = Context.CurrentDiagram; if (currentOpenedDiagram == null && currentLibDiagram != null) { if (autoOpenLibDiagram) { EARepository.ActivateDiagram(currentLibDiagram.DiagramID); result = true; } else if (showUI) { if (MessageBox.Show("Текущая библиотечная диаграмма не открыта. Открыть?", "", MessageBoxButtons.YesNo) == DialogResult.Yes) { EARepository.ActivateDiagram(currentLibDiagram.DiagramID); result = true; } } } else if (currentOpenedDiagram != null && currentLibDiagram != null && currentOpenedDiagram.DiagramID != currentLibDiagram.DiagramID) { if (autoOpenLibDiagram) { Context.CurrentDiagram = currentOpenedDiagram; result = true; } else if (showUI) { DialogResult dr = MessageBox.Show("Текущая Открытая диаграмма не библиотечная библиотечная диаграмма не открыта. Назначить текущей открытую (Да) /Открыть библиотечную (Нет)? ", "", MessageBoxButtons.YesNoCancel); if (dr == DialogResult.Yes) { Context.CurrentDiagram = currentOpenedDiagram; result = true; } } } else if (currentOpenedDiagram != null && currentLibDiagram != null && currentOpenedDiagram.DiagramID == currentLibDiagram.DiagramID) { result = true; } return(result); }
/// <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); } }
private static IImporterContext CreateContext(string testCase) { XmlSchema bdtSchema = XmlSchema.Read(XmlReader.Create(TestUtils.RelativePathToTestResource(typeof(BDTXsdImporterTests), string.Format(@"BDTImporterTestResources\BusinessDataType_{0}.xsd", testCase))), null); var eaRepository = new EARepository(); eaRepository.AddModel("Model", m => m.AddPackage("bLibrary", bLibrary => { bLibrary.Element.Stereotype = Stereotype.bLibrary; bLibrary.AddPackage("PRIMLibrary", primLib => { primLib.Element.Stereotype = Stereotype.PRIMLibrary; primLib.AddPRIM("String"); primLib.AddPRIM("Decimal"); primLib.AddPRIM("Date"); }); bLibrary.AddPackage("CDTLibrary", cdtLib => { cdtLib.Element.Stereotype = Stereotype.CDTLibrary; cdtLib.AddCDT("Text"); }); bLibrary.AddPackage("BDTLibrary", bdtLib => { bdtLib.Element.Stereotype = Stereotype.BDTLibrary; }); })); ICctsRepository cctsRepository = CctsRepositoryFactory.CreateCctsRepository(eaRepository); var primLibrary = cctsRepository.GetPrimLibraryByPath((Path)"Model" / "bLibrary" / "PRIMLibrary"); var bdtLibrary = cctsRepository.GetBdtLibraryByPath((Path)"Model" / "bLibrary" / "BDTLibrary"); var cdtLibrary = cctsRepository.GetCdtLibraryByPath((Path)"Model" / "bLibrary" / "CDTLibrary"); var contextMock = new Mock <IImporterContext>(); contextMock.SetupGet(c => c.PRIMLibrary).Returns(primLibrary); contextMock.SetupGet(c => c.CDTLibrary).Returns(cdtLibrary); contextMock.SetupGet(c => c.BDTLibrary).Returns(bdtLibrary); contextMock.SetupGet(c => c.BDTSchema).Returns(bdtSchema); return(contextMock.Object); }
public void Context() { var eaRepository = new EARepository(); eaRepository.AddModel("Model", model => { model.AddPackage("Package 1", package_1 => { package_1.Element.Stereotype = Stereotype.bLibrary; package_1.AddPackage("Package 1.1", package_1_1 => { package_1_1.Element.Stereotype = Stereotype.bLibrary; package_1_1.AddPackage("Package 1.1.1", p => { p.Element.Stereotype = Stereotype.PRIMLibrary; }); package_1_1.AddPackage("Package 1.1.2", p => { p.Element.Stereotype = Stereotype.ENUMLibrary; }); package_1_1.AddPackage("Package 1.1.3", p => { p.Element.Stereotype = Stereotype.CDTLibrary; }); package_1_1.AddPackage("Package 1.1.4", p => { p.Element.Stereotype = Stereotype.CCLibrary; }); package_1_1.AddPackage("Package 1.1.5", p => { p.Element.Stereotype = Stereotype.BDTLibrary; }); package_1_1.AddPackage("Package 1.1.6", p => { p.Element.Stereotype = Stereotype.BIELibrary; }); package_1_1.AddPackage("Package 1.1.7", p => { p.Element.Stereotype = Stereotype.DOCLibrary; }); }); package_1.AddPackage("Package 1.2", package_1_2 => { package_1_2.Element.Stereotype = "Foo bar 1"; }); }); model.AddPackage("Package 2", package_2 => { package_2.Element.Stereotype = "Foo bar 2"; }); model.AddPackage("Package 3", package_3 => { package_3.Element.Stereotype = Stereotype.bInformationV; package_3.AddPackage("Package 3.1", package_3_1 => { package_3_1.Element.Stereotype = Stereotype.bLibrary; package_3_1.AddPackage("Package 3.1.1", package_3_1_1 => { package_3_1_1.Element.Stereotype = Stereotype.bLibrary; }); package_3_1.AddPackage("Package 3.1.2", package_3_1_2 => { package_3_1_2.Element.Stereotype = "Foo bar 3"; }); }); }); }); validatingCcRepository = new ValidatingCCRepository(eaRepository); }
public EntityAttributeController() { eaRep = new EARepository(); }
public static void UpdateRepository(Repository repository) { EARepository.UpdateRepository(repository); }
public ProductAttributeController() { pRep = new ProductRepository(); paRep = new PARepository(); eaRep = new EARepository(); }
public void Test_exporting_subset_of_complex_type_mapped_to_multiple_accs() { string schemaFileComplete = TestUtils.PathToTestResource(@"XSDExporterTest\mapping\SubsetExporter\exporting_subset_of_complex_type_mapped_to_multiple_accs\source.xsd"); string schemaFileSubset = TestUtils.PathToTestResource(@"XSDExporterTest\mapping\SubsetExporter\exporting_subset_of_complex_type_mapped_to_multiple_accs\subset\"); EARepository eaRepository = new EARepository(); Element bdtStringText = null; Element primString = null; Element abiePersonTypePerson = null; Element abiePersonTypeNote = null; #region EA Repository Subset eaRepository.AddModel( "Test Model Subset", m => m.AddPackage("bLibrary", bLibrary => { bLibrary.Element.Stereotype = Stereotype.bLibrary; bLibrary.AddPackage("PRIMLibrary", package => { package.Element.Stereotype = Stereotype.PRIMLibrary; primString = package.AddPRIM("String"); }); bLibrary.AddPackage("BDTLibrary", package => { package.Element.Stereotype = Stereotype.BDTLibrary; bdtStringText = package.AddBDT("String_Text").With(e => { e.Stereotype = Stereotype.BDT; e.AddCON(primString); }); }); bLibrary.AddPackage("BIELibrary", package => { package.Element.Stereotype = Stereotype.BIELibrary; Element abieAddressTypeAddress = package.AddClass("AddressType_Address").With(e => { e.Stereotype = Stereotype.ABIE; e.AddBBIE(bdtStringText, "City_CityName"); }); abiePersonTypePerson = package.AddClass("PersonType_Person").With(e => { e.Stereotype = Stereotype.ABIE; e.AddBBIE(bdtStringText, "Name_Name"); e.AddASBIE(abieAddressTypeAddress, "Address_Residence", EaAggregationKind.Composite); }); abiePersonTypeNote = package.AddClass("PersonType_Note").With(e => { e.Stereotype = Stereotype.ABIE; }); }); bLibrary.AddPackage("DOCLibrary", package => { package.Element.Stereotype = Stereotype.DOCLibrary; Element maPersonType = package.AddClass("PersonType").With(e => { e.Stereotype = Stereotype.MA; e.AddASMA(abiePersonTypePerson, "Person"); e.AddASMA(abiePersonTypeNote, "Note"); }); Element maPassportType = package.AddClass("PassportType").With(e => { e.Stereotype = Stereotype.MA; e.AddASMA(maPersonType, "Person"); }); package.AddClass("Austrian_Passport").With(e => { e.Stereotype = Stereotype.MA; e.AddASMA(maPassportType, "Passport"); }); }); })); #endregion ICctsRepository cctsRepository = CctsRepositoryFactory.CreateCctsRepository(eaRepository); IDocLibrary docLibrary = cctsRepository.GetDocLibraryByPath((Path)"Test Model Subset" / "bLibrary" / "DOCLibrary"); SubsetExporter.ExportSubset(docLibrary, schemaFileComplete, schemaFileSubset); }
public void Test_calculate_remaining_xsd_types_from_document_model() { EARepository eaRepository = new EARepository(); Element bdtStringText = null; Element primString = null; Element abiePersonTypePerson = null; Element abiePersonTypeNote = null; #region EA Repository Subset eaRepository.AddModel( "Test Model Subset", m => m.AddPackage("bLibrary", bLibrary => { bLibrary.Element.Stereotype = Stereotype.bLibrary; bLibrary.AddPackage("PRIMLibrary", package => { package.Element.Stereotype = Stereotype.PRIMLibrary; primString = package.AddPRIM("String"); }); bLibrary.AddPackage("BDTLibrary", package => { package.Element.Stereotype = Stereotype.BDTLibrary; bdtStringText = package.AddBDT("String_Text").With(e => { e.Stereotype = Stereotype.BDT; e.AddCON(primString); }); }); bLibrary.AddPackage("BIELibrary", package => { package.Element.Stereotype = Stereotype.BIELibrary; Element abieAddressTypeAddress = package.AddClass("AddressType_Address").With(e => { e.Stereotype = Stereotype.ABIE; e.AddBBIE(bdtStringText, "City_CityName"); }); abiePersonTypePerson = package.AddClass("PersonType_Person").With(e => { e.Stereotype = Stereotype.ABIE; e.AddBBIE(bdtStringText, "Name_Name"); e.AddASBIE(abieAddressTypeAddress, "Address_Residence", EaAggregationKind.Composite); }); abiePersonTypeNote = package.AddClass("PersonType_Note").With(e => { e.Stereotype = Stereotype.ABIE; }); }); bLibrary.AddPackage("DOCLibrary", package => { package.Element.Stereotype = Stereotype.DOCLibrary; Element maPersonType = package.AddClass("PersonType").With(e => { e.Stereotype = Stereotype.MA; e.AddASMA(abiePersonTypePerson, "Person"); e.AddASMA(abiePersonTypeNote, "Note"); }); Element maPassportType = package.AddClass("PassportType").With(e => { e.Stereotype = Stereotype.MA; e.AddASMA(maPersonType, "Person"); }); package.AddClass("Austrian_Passport").With(e => { e.Stereotype = Stereotype.MA; e.AddASMA(maPassportType, "Passport"); }); }); })); #endregion ICctsRepository cctsRepository = CctsRepositoryFactory.CreateCctsRepository(eaRepository); IDocLibrary docLibrarySubset = cctsRepository.GetDocLibraryByPath((Path)"Test Model Subset" / "bLibrary" / "DOCLibrary"); UpccModelXsdTypes existingXsdTypes = new UpccModelXsdTypes(docLibrarySubset); // Positive Assertions Assert.That(existingXsdTypes.Count, Is.EqualTo(4)); Assert.That(existingXsdTypes.ContainsXsdType("String"), Is.True); Assert.That(existingXsdTypes.ContainsXsdType("AddressType"), Is.True); Assert.That(existingXsdTypes.ContainsXsdType("PersonType"), Is.True); Assert.That(existingXsdTypes.ContainsXsdType("PassportType"), Is.True); Assert.That(existingXsdTypes.NumberOfChildren("String"), Is.EqualTo(0)); Assert.That(existingXsdTypes.NumberOfChildren("AddressType"), Is.EqualTo(1)); Assert.That(existingXsdTypes.NumberOfChildren("PersonType"), Is.EqualTo(2)); Assert.That(existingXsdTypes.NumberOfChildren("PassportType"), Is.EqualTo(1)); Assert.That(existingXsdTypes.XsdTypeContainsChild("AddressType", "City"), Is.True); Assert.That(existingXsdTypes.XsdTypeContainsChild("PersonType", "Name"), Is.True); Assert.That(existingXsdTypes.XsdTypeContainsChild("PersonType", "Address"), Is.True); Assert.That(existingXsdTypes.XsdTypeContainsChild("PassportType", "Person"), Is.True); //Negative Assertions Assert.That(existingXsdTypes.ContainsXsdType("SuperDooperNonExistingType"), Is.False); Assert.That(existingXsdTypes.NumberOfChildren("SuperDooperNonExistingType"), Is.EqualTo(0)); Assert.That(existingXsdTypes.XsdTypeContainsChild("AddressType", "NonExistingChild"), Is.False); }
public void Test_model_diff() { EARepository eaRepository = new EARepository(); Element cdtText = null; Element bdtStringText = null; Element primString = null; Element accAddress = null; Element accPerson = null; Element abieAddressTypeAddress = null; Element abieAddressTypePerson = null; #region EA Repository Complete eaRepository.AddModel( "Test Model Complete", m => m.AddPackage("bLibrary", bLibrary => { bLibrary.Element.Stereotype = Stereotype.bLibrary; bLibrary.AddPackage("PRIMLibrary", package => { package.Element.Stereotype = Stereotype.PRIMLibrary; primString = package.AddPRIM("String"); }); bLibrary.AddPackage("CDTLibrary", package => { package.Element.Stereotype = Stereotype.CDTLibrary; cdtText = package.AddCDT("Text").With(e => { e.Stereotype = Stereotype.CDT; e.AddCON(primString); e.AddSUPs(primString, "Language", "LanguageLocale"); }); }); bLibrary.AddPackage("CCLibrary", package => { package.Element.Stereotype = Stereotype.CCLibrary; accAddress = package.AddClass("Address") .With(e => e.Stereotype = Stereotype.ACC) .With(e => e.AddBCCs(cdtText, "StreetName", "CityName", "AttentionOf")); accPerson = package.AddClass("Person") .With(e => e.Stereotype = Stereotype.ACC) .With(e => e.AddBCCs(cdtText, "Name", "Title", "Salutation")); }); bLibrary.AddPackage("BDTLibrary", package => { package.Element.Stereotype = Stereotype.BDTLibrary; bdtStringText = package.AddBDT("String_Text").With(e => { e.Stereotype = Stereotype.BDT; e.AddBasedOnDependency(cdtText); e.AddCON(primString); }); }); bLibrary.AddPackage("BIELibrary", package => { package.Element.Stereotype = Stereotype.BIELibrary; abieAddressTypeAddress = package.AddClass("AddressType_Address").With(e => { e.Stereotype = Stereotype.ABIE; e.AddBasedOnDependency(accAddress); e.AddBBIE(bdtStringText, "Town_CityName"); }); abieAddressTypePerson = package.AddClass("AddressType_Person").With(e => { e.Stereotype = Stereotype.ABIE; e.AddBasedOnDependency(accPerson); e.AddBBIE(bdtStringText, "PersonName_Name"); }); }); bLibrary.AddPackage("DOCLibrary", package => { package.Element.Stereotype = Stereotype.DOCLibrary; Element maAddressType = package.AddClass("AddressType").With(e => { e.Stereotype = Stereotype.MA; e.AddASMA(abieAddressTypeAddress, "Address"); e.AddASMA(abieAddressTypePerson, "Person"); }); Element maInvoiceType = package.AddClass("InvoiceType").With(e => { e.Stereotype = Stereotype.MA; e.AddASMA(maAddressType, "Address"); }); package.AddClass("Test_Invoice").With(e => { e.Stereotype = Stereotype.MA; e.AddASMA(maInvoiceType, "Invoice"); }); }); })); #endregion #region EA Repository Subset eaRepository.AddModel( "Test Model Subset", m => m.AddPackage("bLibrary", bLibrary => { bLibrary.Element.Stereotype = Stereotype.bLibrary; bLibrary.AddPackage("PRIMLibrary", package => { package.Element.Stereotype = Stereotype.PRIMLibrary; primString = package.AddPRIM("String"); }); bLibrary.AddPackage("CDTLibrary", package => { package.Element.Stereotype = Stereotype.CDTLibrary; cdtText = package.AddCDT("Text").With(e => { e.Stereotype = Stereotype.CDT; e.AddCON(primString); e.AddSUPs(primString, "Language", "LanguageLocale"); }); }); bLibrary.AddPackage("CCLibrary", package => { package.Element.Stereotype = Stereotype.CCLibrary; accAddress = package.AddClass("Address") .With(e => e.Stereotype = Stereotype.ACC) .With(e => e.AddBCCs(cdtText, "StreetName", "CityName", "AttentionOf")); accPerson = package.AddClass("Person") .With(e => e.Stereotype = Stereotype.ACC) .With(e => e.AddBCCs(cdtText, "Name", "Title", "Salutation")); }); bLibrary.AddPackage("BDTLibrary", package => { package.Element.Stereotype = Stereotype.BDTLibrary; bdtStringText = package.AddBDT("String_Text").With(e => { e.Stereotype = Stereotype.BDT; e.AddBasedOnDependency(cdtText); e.AddCON(primString); }); }); bLibrary.AddPackage("BIELibrary", package => { package.Element.Stereotype = Stereotype.BIELibrary; abieAddressTypeAddress = package.AddClass("AddressType_Address").With(e => { e.Stereotype = Stereotype.ABIE; e.AddBasedOnDependency(accAddress); e.AddBBIE(bdtStringText, "Town_CityName"); }); abieAddressTypePerson = package.AddClass("AddressType_Person").With(e => { e.Stereotype = Stereotype.ABIE; e.AddBasedOnDependency(accPerson); }); }); bLibrary.AddPackage("DOCLibrary", package => { package.Element.Stereotype = Stereotype.DOCLibrary; Element maAddressType = package.AddClass("AddressType").With(e => { e.Stereotype = Stereotype.MA; e.AddASMA(abieAddressTypeAddress, "Address"); e.AddASMA(abieAddressTypePerson, "Person"); }); Element maInvoiceType = package.AddClass("InvoiceType").With(e => { e.Stereotype = Stereotype.MA; e.AddASMA(maAddressType, "Address"); }); package.AddClass("Test_Invoice").With(e => { e.Stereotype = Stereotype.MA; e.AddASMA(maInvoiceType, "Invoice"); }); }); })); #endregion ICctsRepository cctsRepository = CctsRepositoryFactory.CreateCctsRepository(eaRepository); IDocLibrary docLibraryComplete = cctsRepository.GetDocLibraryByPath((Path)"Test Model Complete" / "bLibrary" / "DOCLibrary"); IDocLibrary docLibrarySubset = cctsRepository.GetDocLibraryByPath((Path)"Test Model Subset" / "bLibrary" / "DOCLibrary"); Dictionary <string, List <string> > mutatedComplexTypes = new UpccModelDiff(docLibraryComplete, docLibrarySubset).CalculateDiff(); Dictionary <string, List <string> > expectedMutatedComplexTypes = new Dictionary <string, List <string> >(); expectedMutatedComplexTypes.Add("AddressType", new List <string> { "PersonName" }); Assert.That(mutatedComplexTypes.Keys, Is.EquivalentTo(expectedMutatedComplexTypes.Keys), "Defective Complex Type Mutation."); foreach (string complexTypeName in expectedMutatedComplexTypes.Keys) { Assert.That(mutatedComplexTypes[complexTypeName], Is.EquivalentTo(expectedMutatedComplexTypes[complexTypeName]), "Difference between Complex Type Mutation and expected Complex Type Mutation: " + complexTypeName + "."); } }