public TestCopyPasteProperties() { propertyGraphContainer = new AssetPropertyGraphContainer(new AssetNodeContainer { NodeBuilder = { NodeFactory = new AssetNodeFactory() } }); service = TestHelper.CreateCopyPasteService(propertyGraphContainer); }
private static string Copy([NotNull] ICopyPasteService service, [NotNull] EntityHierarchyPropertyGraph assetGraph, [NotNull] IEnumerable <EntityDesign> commonRoots) { // copy selected hierarchy var hierarchy = EntityHierarchyPropertyGraph.CloneSubHierarchies(assetGraph.Container.NodeContainer, assetGraph.Asset, commonRoots.Select(r => r.Entity.Id), SubHierarchyCloneFlags.None, out _); // visitor on this temporary asset var text = service.CopyFromAsset(assetGraph, assetGraph.Id, hierarchy, false); return(text); }
private static void Paste([NotNull] ICopyPasteService service, string text, [NotNull] EntityHierarchyPropertyGraph assetGraph, EntityDesign target, string folderName) { var data = service.DeserializeCopiedData(text, assetGraph.Asset, typeof(Entity)); Assert.NotNull(data); Assert.NotNull(data.Items); Assert.Equal(1, data.Items.Count); var item = data.Items[0]; Assert.NotNull(item); Assert.NotNull(item.Data); Assert.NotNull(item.Processor); var targetNode = target != null?assetGraph.Container.NodeContainer.GetNode(target.Entity) : assetGraph.RootNode; var nodeAccessor = new NodeAccessor(targetNode, NodeIndex.Empty); var propertyContainer = new PropertyContainer { { EntityHierarchyPasteProcessor.TargetFolderKey, folderName } }; item.Processor.Paste(item, assetGraph, ref nodeAccessor, ref propertyContainer); }