public void TestFindByUri() { var workspace = new Workspace<IExtent>("data", "No annotation"); var extent = new MofUriExtent("http://test/"); var factory = new MofFactory(); var element = factory.create(null); extent.elements().add(element); workspace.AddExtent(extent); var elementAsMofElement = (MofElement) element; var guid = elementAsMofElement.Id; // Now check, if everything is working var found = extent.element("http://test/#" + guid); Assert.That(found, Is.EqualTo(element)); var anotherFound = workspace.FindElementByUri("http://test/#" + guid); Assert.That(anotherFound, Is.EqualTo(element)); }
/// <summary> /// Performs a full bootstrap by reading the uml classes /// </summary> /// <param name="filePaths">Paths storing the uml</param> /// <param name="workspace">The workspace to which the extents will be aded</param> /// <param name="dataLayerLogic">The datalayerlogic being used to add the </param> /// <param name="dataLayer">The datalayer to which the new extents will be added</param> /// <returns></returns> public static Bootstrapper PerformFullBootstrap(FilePaths filePaths, Workspace<IExtent> workspace, IDataLayerLogic dataLayerLogic, IDataLayer dataLayer) { if (workspace == null) throw new ArgumentNullException(nameof(workspace)); if (dataLayerLogic == null) throw new ArgumentNullException(nameof(dataLayerLogic)); if (dataLayer == null) throw new ArgumentNullException(nameof(dataLayer)); var strapper = PerformFullBootstrap(filePaths, dataLayerLogic, dataLayer); workspace.AddExtent(strapper.MofInfrastructure); workspace.AddExtent(strapper.UmlInfrastructure); workspace.AddExtent(strapper.PrimitiveInfrastructure); return strapper; }