/// <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); }
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)); }
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"); }
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)); }
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)); }
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)); }
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); }