Beispiel #1
0
        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);
            });
        }
Beispiel #2
0
        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;
 }