public void Test_DuplicateAction_OneNode([Values] TestingMode mode) { GraphModel.CreateNode <Type0FakeNodeModel>("Node0", Vector2.zero); TestPrereqActionPostreq(mode, () => { Assert.That(GetNodeCount(), Is.EqualTo(1)); var nodeModel = GetNode(0); Assert.That(nodeModel, Is.TypeOf <Type0FakeNodeModel>()); TargetInsertionInfo info = new TargetInsertionInfo(); info.OperationName = "Duplicate"; info.Delta = Vector2.one; info.TargetStackInsertionIndex = -1; IEditorDataModel editorDataModel = m_Store.GetState().EditorDataModel; VseGraphView.CopyPasteData copyPasteData = VseGraphView.GatherCopiedElementsData(x => x, new List <IGraphElementModel> { nodeModel }); return(new PasteSerializedDataAction(GraphModel, info, editorDataModel, copyPasteData.ToJson())); }, () => { Assert.That(GetNodeCount(), Is.EqualTo(2)); Assert.That(GraphModel.NodeModels.Count(n => n == null), Is.Zero); }); }
public void DuplicateStackedNode([Values] TestingMode mode) { var stack = GraphModel.CreateStack("stack", Vector2.zero); stack.CreateStackedNode <Type0FakeNodeModel>("test"); TestPrereqActionPostreq(mode, () => { Assert.That(stack.NodeModels.Count, Is.EqualTo(1)); }, () => { var node = stack.NodeModels.Single(); TargetInsertionInfo info; info.OperationName = "Duplicate"; info.Delta = Vector2.one; info.TargetStack = stack; info.TargetStackInsertionIndex = -1; IEditorDataModel editorDataModel = m_Store.GetState().EditorDataModel; VseGraphView.CopyPasteData copyPasteData = VseGraphView.GatherCopiedElementsData(VseGraphView.CopyMode.KeepReference, new List <IGraphElementModel> { node }); Assert.That(copyPasteData.IsEmpty(), Is.False); return(new PasteSerializedDataAction(GraphModel, info, editorDataModel, copyPasteData.ToJson())); }, () => { Assert.That(stack.NodeModels.Count, Is.EqualTo(2)); }); }
public PasteSerializedDataAction(VSGraphModel graph, TargetInsertionInfo info, IEditorDataModel editorDataModel, VseGraphView.CopyPasteData data) { Graph = graph; Info = info; EditorDataModel = editorDataModel; Data = data; }