public void TestUndoRedoForEdgeModification() { string commands = @" MouseDown|e:System.Windows.Input.MouseButton,Left|u:0xffffffff|e:DesignScriptStudio.Graph.Core.NodePart,None|i:-1|e:System.Windows.Input.ModifierKeys,None MouseUp|e:System.Windows.Input.MouseButton,Left|u:0xffffffff|e:DesignScriptStudio.Graph.Core.NodePart,None|i:-1|e:System.Windows.Input.ModifierKeys,None CreateCodeBlockNode|d:15359.0|d:15149.0|s: BeginNodeEdit|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Text MouseDown|e:System.Windows.Input.MouseButton,Left|u:0xffffffff|e:DesignScriptStudio.Graph.Core.NodePart,None|i:-1|e:System.Windows.Input.ModifierKeys,None MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Text|i:-1|e:System.Windows.Input.ModifierKeys,None EndNodeEdit|u:0x10000001|s:10;|b:True MouseDown|e:System.Windows.Input.MouseButton,Left|u:0xffffffff|e:DesignScriptStudio.Graph.Core.NodePart,None|i:-1|e:System.Windows.Input.ModifierKeys,None MouseUp|e:System.Windows.Input.MouseButton,Left|u:0xffffffff|e:DesignScriptStudio.Graph.Core.NodePart,None|i:-1|e:System.Windows.Input.ModifierKeys,None CreateIdentifierNode|d:15542.0|d:15145.0 CreateIdentifierNode|d:15542.0|d:15242.0 MouseDown|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,OutputSlot|i:0|e:System.Windows.Input.ModifierKeys,None BeginDrag|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,OutputSlot|i:0|e:System.Windows.Input.ModifierKeys,None|d:15380.0|d:15149.0 EndDrag|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,InputSlot|i:0|e:System.Windows.Input.ModifierKeys,None|d:15520.0|d:15144.0 MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,InputSlot|i:0|e:System.Windows.Input.ModifierKeys,None ClearSelection SelectComponent|u:0x60000001|e:System.Windows.Input.ModifierKeys,None MouseDown|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,InputSlot|i:0|e:System.Windows.Input.ModifierKeys,None BeginDrag|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,InputSlot|i:0|e:System.Windows.Input.ModifierKeys,None|d:15521.0|d:15146.0 EndDrag|e:System.Windows.Input.MouseButton,Left|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,InputSlot|i:0|e:System.Windows.Input.ModifierKeys,None|d:15520.0|d:15243.0 MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,InputSlot|i:0|e:System.Windows.Input.ModifierKeys,None"; GraphController graphController = new GraphController(null); bool result00 = graphController.RunCommands(commands); Assert.AreEqual(true, result00); VisualEdge edge00 = graphController.GetVisualEdge(0x60000001); Assert.IsNotNull(edge00); Assert.AreEqual(0x30000001, edge00.StartSlotId); Assert.AreEqual(0x30000004, edge00.EndSlotId); commands = @"UndoOperation"; bool result01 = graphController.RunCommands(commands); Assert.AreEqual(true, result01); VisualEdge edge01 = graphController.GetVisualEdge(0x60000001); Assert.IsNotNull(edge01); Assert.AreEqual(0x30000001, edge00.StartSlotId); Assert.AreEqual(0x30000002, edge00.EndSlotId); commands = @"RedoOperation"; bool result02 = graphController.RunCommands(commands); Assert.AreEqual(true, result02); VisualEdge edge02 = graphController.GetVisualEdge(0x60000001); Assert.IsNotNull(edge02); Assert.AreEqual(0x30000001, edge00.StartSlotId); Assert.AreEqual(0x30000004, edge00.EndSlotId); }
internal void EnsureEdgeInfo(uint edgeId, uint startSlotId, uint endSlotId, EdgeType edgeType) { VisualEdge edge = controller.GetVisualEdge(edgeId); Assert.AreNotEqual(null, edge); // Make sure the edge exists. Assert.AreEqual(startSlotId, edge.StartSlotId); // Connecting from... Assert.AreEqual(endSlotId, edge.EndSlotId); // Connecting to... Assert.AreEqual(edgeType, edge.EdgeType); // Explicit or implicit? }
public void TestCreate00() { IStorage storage = new BinaryStorage(); EdgeController edgeController = null; Assert.Throws <ArgumentNullException>(() => { IVisualEdge edge = VisualEdge.Create(edgeController, storage); }); }
public void TestCreate01() { IStorage storage = null; GraphController graphController = new GraphController(null); EdgeController edgeController = new EdgeController(graphController); Assert.Throws <ArgumentNullException>(() => { IVisualEdge edge = VisualEdge.Create(edgeController, storage); }); }
public void TestSerializeNullException() { IStorage storage = null; GraphController graphController = new GraphController(null); EdgeController edgeController = new EdgeController(graphController); IVisualEdge edge = new VisualEdge(edgeController, 0x30000001, 0x30000002, false); Assert.Throws <ArgumentNullException>(() => { edge.Serialize(storage); }); }
public void TestSerializeDeserialize() { IStorage storage = new BinaryStorage(); GraphController graphController = new GraphController(null); EdgeController edgeController = new EdgeController(graphController); IVisualEdge edge00 = new VisualEdge(edgeController, 0x30000001, 0x30000002, false); edge00.Serialize(storage); storage.Seek(0, SeekOrigin.Begin); IVisualEdge edge01 = VisualEdge.Create(edgeController, storage); Assert.AreEqual(edge00.EdgeId, edge01.EdgeId); Assert.AreEqual(edge00.StartSlotId, edge01.StartSlotId); Assert.AreEqual(edge00.EndSlotId, edge01.EndSlotId); }
public void TestDeserilaizeOperationException() { IStorage storage = new BinaryStorage(); GraphController graphController = new GraphController(null); EdgeController edgeController = new EdgeController(graphController); IVisualEdge edge = new VisualEdge(edgeController, 0x30000001, 0x30000002, false); storage.WriteUnsignedInteger(FieldCode.EdgeSignature, 12); storage.Seek(0, SeekOrigin.Begin); Assert.Throws <InvalidOperationException>(() => { edge.Deserialize(storage); }); }
public void TestRecordEdgeCreationForUndo00() { GraphController graphController = new GraphController(null); UndoRedoRecorder urr = new UndoRedoRecorder(graphController); EdgeController edgeController = new EdgeController(graphController); List <IVisualEdge> edgeList = new List <IVisualEdge>(); VisualEdge edge = new VisualEdge(edgeController, EdgeType.ExplicitConnection); edgeList.Add(edge); Assert.Throws <InvalidOperationException>(() => { urr.RecordEdgeCreationForUndo(edgeList); }); }
public void TestUndoRedoForEdgeCreation() { string commands = @" MouseDown|e:System.Windows.Input.MouseButton,Left|u:0xffffffff|e:DesignScriptStudio.Graph.Core.NodePart,None|i:-1|e:System.Windows.Input.ModifierKeys,None MouseUp|e:System.Windows.Input.MouseButton,Left|u:0xffffffff|e:DesignScriptStudio.Graph.Core.NodePart,None|i:-1|e:System.Windows.Input.ModifierKeys,None CreateCodeBlockNode|d:15334.0|d:15155.0|s: BeginNodeEdit|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Text MouseDown|e:System.Windows.Input.MouseButton,Left|u:0xffffffff|e:DesignScriptStudio.Graph.Core.NodePart,None|i:-1|e:System.Windows.Input.ModifierKeys,None MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Text|i:-1|e:System.Windows.Input.ModifierKeys,None EndNodeEdit|u:0x10000001|s:10;|b:True MouseDown|e:System.Windows.Input.MouseButton,Left|u:0xffffffff|e:DesignScriptStudio.Graph.Core.NodePart,None|i:-1|e:System.Windows.Input.ModifierKeys,None MouseUp|e:System.Windows.Input.MouseButton,Left|u:0xffffffff|e:DesignScriptStudio.Graph.Core.NodePart,None|i:-1|e:System.Windows.Input.ModifierKeys,None CreateIdentifierNode|d:15536.0|d:15194.0 MouseDown|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,OutputSlot|i:0|e:System.Windows.Input.ModifierKeys,None BeginDrag|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,OutputSlot|i:0|e:System.Windows.Input.ModifierKeys,None|d:15352.0|d:15154.0 EndDrag|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,InputSlot|i:0|e:System.Windows.Input.ModifierKeys,None|d:15518.0|d:15195.0 MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,InputSlot|i:0|e:System.Windows.Input.ModifierKeys,None"; GraphController graphController = new GraphController(null); bool result00 = graphController.RunCommands(commands); Assert.AreEqual(true, result00); VisualEdge edge00 = graphController.GetVisualEdge(0x60000001); Assert.IsNotNull(edge00); commands = @"UndoOperation"; bool result01 = graphController.RunCommands(commands); Assert.AreEqual(true, result01); VisualEdge edge01 = graphController.GetVisualEdge(0x60000001); Assert.IsNull(edge01); commands = @"RedoOperation"; bool result02 = graphController.RunCommands(commands); Assert.AreEqual(true, result02); VisualEdge edge02 = graphController.GetVisualEdge(0x60000001); Assert.IsNotNull(edge02); }