Ejemplo n.º 1
0
        /// <summary>
        /// Creates a filled MOF and UML instance which can be used for further testing
        /// </summary>
        /// <param name="mof">Mof instance to be returned</param>
        /// <param name="uml">Uml instance to be returned</param>
        public static void CreateUmlAndMofInstance(out _MOF mof, out _UML uml)
        {
            var dataLayerLogic = new DataLayerLogic(new DataLayerData());
            var dataLayers = new DataLayers();
            dataLayers.SetRelationsForDefaultDataLayers(dataLayerLogic);
            var strapper = Bootstrapper.PerformFullBootstrap(
                new Bootstrapper.FilePaths()
                {
                    PathPrimitive = "Xmi/PrimitiveTypes.xmi",
                    PathUml = "Xmi/UML.xmi",
                    PathMof = "Xmi/MOF.xmi"
                },
                dataLayerLogic,
                dataLayers.Mof);
            Assert.That(strapper, Is.Not.Null);
            Assert.That(strapper.UmlInfrastructure, Is.Not.Null);

            Assert.That(
                AllDescendentsQuery.getDescendents(strapper.UmlInfrastructure).Count(),
                Is.GreaterThan(500));

            // Check, if the filled classes are working
            mof = dataLayerLogic.Get<_MOF>(dataLayers.Mof);
            uml = dataLayerLogic.Get<_UML>(dataLayers.Mof);
            Assert.That(mof, Is.Not.Null);
            Assert.That(uml, Is.Not.Null);
        }
Ejemplo n.º 2
0
        public void TestGetUriAndRetrieveElement()
        {
            var dataLayerLogic = new DataLayerLogic(new DataLayerData());
            var dataLayers = new DataLayers();
            dataLayers.SetRelationsForDefaultDataLayers(dataLayerLogic);
            var strapper = Bootstrapper.PerformFullBootstrap(
                new Bootstrapper.FilePaths()
                {
                    PathPrimitive = "Xmi/PrimitiveTypes.xmi",
                    PathUml = "Xmi/UML.xmi",
                    PathMof = "Xmi/MOF.xmi"
                },
                dataLayerLogic,
                dataLayers.Uml);
            var umlExtent = strapper.UmlInfrastructure;
            var element = umlExtent.elements().ElementAt(0) as IElement;

            var elementUri = umlExtent.uri(element);
            var foundElement = umlExtent.element(elementUri);
            Assert.That(foundElement, Is.Not.Null);
            Assert.That(foundElement, Is.EqualTo(element));

            // Retrieve another element
            element = AllDescendentsQuery.getDescendents(umlExtent).ElementAt(300) as IElement;
            elementUri = umlExtent.uri(element);
            foundElement = umlExtent.element(elementUri);
            Assert.That(foundElement, Is.Not.Null);
            Assert.That(foundElement, Is.EqualTo(element));
        }
Ejemplo n.º 3
0
        private static void TestUmlBootstrap()
        {
            System.Console.WriteLine("Testing Uml-Bootstrap.");

            var watch = new Stopwatch();
            watch.Start();

            var dataLayerLogic = new DataLayerLogic(new DataLayerData());
            var fullStrap = Bootstrapper.PerformFullBootstrap(
                new Bootstrapper.FilePaths()
                {
                    PathPrimitive = "data/PrimitiveTypes.xmi",
                    PathUml = "data/UML.xmi",
                    PathMof = "data/MOF.xmi"
                },
                dataLayerLogic,
                null);
            watch.Stop();

            var descendents = AllDescendentsQuery.getDescendents(fullStrap.UmlInfrastructure);
            System.Console.WriteLine($"Having {descendents.Count()} elements");
            var n = 0;
            foreach (var child in descendents)
            {
                if (child.isSet("name"))
                {
                    n++;
                }
            }

            System.Console.WriteLine($"Having {n} elements with name");

            System.Console.WriteLine($"Elapsed Time for Bootstrap {watch.ElapsedMilliseconds.ToString("n0")} ms");
        }
Ejemplo n.º 4
0
        public void TestDataLayersForItem()
        {
            var dataLayers = new DataLayers();
            var data = new DataLayerData(dataLayers);
            IDataLayerLogic logic = new DataLayerLogic(data);
            dataLayers.SetRelationsForDefaultDataLayers(logic);

            var dataExtent = new MofUriExtent("Data");
            var umlExtent = new MofUriExtent("Uml");

            logic.AssignToDataLayer(dataExtent, dataLayers.Data);
            logic.AssignToDataLayer(umlExtent, dataLayers.Uml);

            var value = new MofElement(null, null);
            var logicLayer = logic.GetDataLayerOfObject(value);
            Assert.That(logicLayer, Is.SameAs(dataLayers.Data)); // Per Default, only the Data

            umlExtent.elements().add(value);
            logicLayer = logic.GetDataLayerOfObject(value);
            Assert.That(logicLayer, Is.SameAs(dataLayers.Uml));
        }
Ejemplo n.º 5
0
        public void TestDataLayers()
        {
            var dataLayers = new DataLayers();
            var data = new DataLayerData(dataLayers);
            IDataLayerLogic logic = new DataLayerLogic(data);
            dataLayers.SetRelationsForDefaultDataLayers(logic);

            var dataExtent = new MofUriExtent("Data");
            var typeExtent = new MofUriExtent("Types");
            var umlExtent = new MofUriExtent("Uml");
            var unAssignedExtent = new MofUriExtent("Unassigned");

            logic.AssignToDataLayer(dataExtent, dataLayers.Data);
            logic.AssignToDataLayer(typeExtent, dataLayers.Types);
            logic.AssignToDataLayer(umlExtent, dataLayers.Uml);

            Assert.That(logic.GetDataLayerOfExtent(dataExtent), Is.EqualTo(dataLayers.Data));
            Assert.That(logic.GetDataLayerOfExtent(typeExtent), Is.EqualTo(dataLayers.Types));
            Assert.That(logic.GetDataLayerOfExtent(umlExtent), Is.EqualTo(dataLayers.Uml));
            Assert.That(logic.GetDataLayerOfExtent(unAssignedExtent), Is.EqualTo(dataLayers.Data));
            Assert.That(logic.GetMetaLayerFor(dataLayers.Data), Is.EqualTo(dataLayers.Types));
        }
Ejemplo n.º 6
0
        public void TestClassTreeUsage()
        {
            var dataLayerLogic = new DataLayerLogic(new DataLayerData());
            var dataLayers = new DataLayers();
            dataLayers.SetRelationsForDefaultDataLayers(dataLayerLogic);

            var strapper = Bootstrapper.PerformFullBootstrap(
                new Bootstrapper.FilePaths()
                {
                    PathPrimitive = "Xmi/PrimitiveTypes.xmi",
                    PathUml = "Xmi/UML.xmi",
                    PathMof = "Xmi/MOF.xmi"
                },
                dataLayerLogic,
                dataLayers.Uml);

            var primitiveTypes = dataLayerLogic.Create<FillThePrimitiveTypes, _PrimitiveTypes>(dataLayers.Uml);
            Assert.That(primitiveTypes, Is.Not.Null );
            Assert.That(primitiveTypes.__Real, Is.Not.Null);
            Assert.That(primitiveTypes.__Real, Is.Not.TypeOf<object>());

            var primitiveTypes2 = dataLayerLogic.Create<FillThePrimitiveTypes, _PrimitiveTypes>(dataLayers.Uml);
            Assert.That(primitiveTypes2, Is.SameAs(primitiveTypes));
        }
Ejemplo n.º 7
0
        private static _UML GetFilledUml()
        {
            var dataLayerLogic = new DataLayerLogic(new DataLayerData());
            var dataLayers = new DataLayers();
            dataLayers.SetRelationsForDefaultDataLayers(dataLayerLogic);
            var strapper = Bootstrapper.PerformFullBootstrap(
                new Bootstrapper.FilePaths()
                {
                    PathPrimitive = "Xmi/PrimitiveTypes.xmi",
                    PathUml = "Xmi/UML.xmi",
                    PathMof = "Xmi/MOF.xmi"
                },
                dataLayerLogic,
                dataLayers.Mof);

            return dataLayerLogic.Get<_UML>(dataLayers.Mof);
        }