Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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"));
        }