public void TestUpdateClassFromInstance_NewDataItem() { DiagramCache diagramCache = new DiagramCache(); EAMetaModel meta = new EAMetaModel().setupSchemaPackage(); EAFactory rootClass = new EAFactory(); rootClass.setupClient("SomeClass", RoundTripAddInClass.EA_TYPE_CLASS, RoundTripAddInClass.EA_STEREOTYPE_REQUEST, 0, null); EA.Element el = rootClass.clientElement; EAFactory attrFactory = rootClass.addSupplier("SomeAttribute", RoundTripAddInClass.EA_TYPE_CLASS, 0, RoundTripAddInClass.EA_STEREOTYPE_DATAITEM, null, "someAttribute", RoundTripAddInClass.CARDINALITY_0_TO_ONE, null); EA.Element attr = attrFactory.clientElement; EA.Package pkg = SchemaManager.generateSample(EARepository.Repository, diagramCache); object os = pkg.Elements.GetAt(0); EA.Element sample = (EA.Element)os; string nrs = ObjectManager.addRunState(sample.RunState, "SomeAttribute", "foobar", 0); sample.RunState = nrs; SchemaManager.updateClassFromSample(EARepository.Repository, sample); EA.TaggedValue def = SchemaManager.getAttributeDefault(attr); Assert.AreEqual("foobar", def.Value); }
public void TestUpdateClassFromInstance() { DiagramCache diagramCache = new DiagramCache(); EAMetaModel meta = new EAMetaModel().setupSchemaPackage(); EAFactory rootClass = new EAFactory(); rootClass.setupClient("SomeClass", RoundTripAddInClass.EA_TYPE_CLASS, RoundTripAddInClass.EA_STEREOTYPE_REQUEST, 0, null); EA.Element el = rootClass.clientElement; object o = el.Attributes.AddNew("SomeAttribute", "Attribute"); EA.Attribute attr = (EA.Attribute)o; EA.Package pkg = SchemaManager.generateSample(EARepository.Repository, diagramCache); object os = pkg.Elements.GetAt(0); EA.Element sample = (EA.Element)os; string nrs = ObjectManager.addRunState(sample.RunState, "SomeAttribute", "foobar", 0); sample.RunState = nrs; SchemaManager.updateClassFromSample(EARepository.Repository, sample); Assert.AreEqual("foobar", attr.Default); }
public void TestExportPopulation() { EAMetaModel meta = new EAMetaModel().setupPopulationPackage(); EAFactory rootClass = EAModel.createPopulation(meta); meta.setupPopulationPackage(); EA.Package package = EARepository.currentPackage; Assert.AreEqual(1, package.Diagrams.Count); object o = package.Diagrams.GetAt(0); EA.Diagram diagram = (EA.Diagram)o; Assert.AreEqual(2, package.Elements.Count); DiagramCache diagramCache = new DiagramCache(); //Test RepositoryHelper.createDiagramCache(EARepository.Repository, diagram, diagramCache); JArray jobject = (JArray)PopulationManager.sampleToJObject(EARepository.Repository, diagram, diagramCache)["json"]; Assert.AreEqual(1, jobject.Count); }
public void TestGenerateSample() { DiagramCache diagramCache = new DiagramCache(); EAMetaModel meta = new EAMetaModel().setupSchemaPackage(); EAFactory rootClass = new EAFactory(); rootClass.setupClient("RootClass", RoundTripAddInClass.EA_TYPE_CLASS, RoundTripAddInClass.EA_STEREOTYPE_REQUEST, 0, null); EAFactory childClass = rootClass.addSupplier("ChildClass", RoundTripAddInClass.EA_TYPE_CLASS, 0, null /*target stereotype*/, null, "optionalAttribute" /*supplierEndRole*/, "1" /*cardinality*/, null); //Test EA.Package package = SchemaManager.generateSample(EARepository.Repository, diagramCache); Assert.AreEqual(1, package.Diagrams.Count); Assert.AreEqual(3, package.Elements.Count); object o = package.Diagrams.GetAt(0); EA.Diagram diaObj = (EA.Diagram)o; Assert.AreEqual(2 + 1, diaObj.DiagramObjects.Count); }
public void TestUpdateInstanceFromClass() { DiagramCache diagramCache = new DiagramCache(); EAMetaModel meta = new EAMetaModel().setupSchemaPackage(); EAFactory rootClass = new EAFactory(); rootClass.setupClient("SomeClass", RoundTripAddInClass.EA_TYPE_CLASS, RoundTripAddInClass.EA_STEREOTYPE_REQUEST, 0, null); EA.Element el = rootClass.clientElement; object o = el.Attributes.AddNew("SomeAttribute", "Attribute"); EA.Attribute attr = (EA.Attribute)o; EAFactory anotherAttribute = rootClass.addSupplier("anotherAttribute", RoundTripAddInClass.EA_TYPE_CLASS, 0, RoundTripAddInClass.EA_STEREOTYPE_DATAITEM, null, "", RoundTripAddInClass.CARDINALITY_0_TO_ONE, ""); EA.Element attrClass = anotherAttribute.clientElement; EA.Package pkg = SchemaManager.generateSample(EARepository.Repository, diagramCache); object os = pkg.Elements.GetAt(0); EA.Element sample = (EA.Element)os; string nrs = ObjectManager.addRunState(sample.RunState, "SomeAttribute", "foobar", 0); sample.RunState = nrs; nrs = ObjectManager.addRunState(sample.RunState, "anotherAttribute", "foobar2", 0); sample.RunState = nrs; attr.Name = "SomeAttribute2";//We update the attribute name to test that this update gets reflected onto the object attrClass.Name = "anotherAttribute2"; SchemaManager.updateSampleFromClass(EARepository.Repository, sample); Assert.IsTrue(ObjectManager.parseRunState(sample.RunState).ContainsKey("SomeAttribute2")); Assert.IsTrue(ObjectManager.parseRunState(sample.RunState).ContainsKey("anotherAttribute2")); }