public MenuItemsProvider(GraphController controller, NodePart part, uint id) { this.graphController = controller; this.nodePart = part; this.nodeId = id; this.GenerateMenuItems(); }
public void T001_Defect_IDE_1319() { string commands = @" CreateDriverNode|d:15409.0|d:15220.5 MouseDown|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:0|e:System.Windows.Input.ModifierKeys,None BeginDrag|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:0|e:System.Windows.Input.ModifierKeys,None|d:15404.0|d:15226.0 EndDrag|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:0|e:System.Windows.Input.ModifierKeys,None|d:15466.0|d:15215.0 MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:0|e:System.Windows.Input.ModifierKeys,None MouseDown|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:0|e:System.Windows.Input.ModifierKeys,None MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:0|e:System.Windows.Input.ModifierKeys,None BeginNodeEdit|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Caption MouseDown|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:0|e:System.Windows.Input.ModifierKeys,None MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:0|e:System.Windows.Input.ModifierKeys,None EndNodeEdit|u:0x10000001|s:1|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 "; GraphController controller = new GraphController(null); bool result00 = controller.RunCommands(commands); Assert.AreEqual(true, result00); VisualNode node; node = (VisualNode)controller.GetVisualNode(0x10000001); Assert.AreEqual(true, node.Error); }
public void Cancel_Connection_1558() { //1. Create CBN a= Var3 //2. Create CBN 1 //3. create a function node Point.ByCoordiantes and connect the second CBN to points x,y, and z 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:15378.0|d:15208.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:a=1|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:15519.0|d:15183.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:15414.0|d:15212.0 EndDrag|e:System.Windows.Input.MouseButton,Left|u:0x00000000|e:DesignScriptStudio.Graph.Core.NodePart,None|i:-1|e:System.Windows.Input.ModifierKeys,None|d:-1.0|d:-1.0 MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:-1|e:System.Windows.Input.ModifierKeys,None 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"; GraphController controller = new GraphController(null); bool result = controller.RunCommands(commands); Assert.AreEqual(true, result); VisualNode node = controller.GetVisualNode(0x10000002); Assert.AreEqual(false, node.Selected); }
public void Defect_IDE_1670() { string commands = @"CreateIdentifierNode|d:15339.0|d:15187.5 MouseUp|e:System.Windows.Input.MouseButton,Left|u:0xffffffff|e:DesignScriptStudio.Graph.Core.NodePart,None|i:-1|e:System.Windows.Input.ModifierKeys,None CreateDriverNode|d:15422.0|d:15329.5 MouseDown|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,OutputSlot|i:0|e:System.Windows.Input.ModifierKeys,None MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,OutputSlot|i:0|e:System.Windows.Input.ModifierKeys,None BeginDrag|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,OutputSlot|i:0|e:System.Windows.Input.ModifierKeys,None|d:15456.0|d:15335.0 EndDrag|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,InputSlot|i:0|e:System.Windows.Input.ModifierKeys,None|d:15307.0|d:15193.0 MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,InputSlot|i:0|e:System.Windows.Input.ModifierKeys,None CreateIdentifierNode|d:15463.0|d:15206.5"; GraphController controller = new GraphController(null); bool result00 = controller.RunCommands(commands); Assert.AreEqual(true, result00); VisualNode node; node = (VisualNode)controller.GetVisualNode(0x10000001); Assert.IsNullOrEmpty(node.ErrorMessage); node = (VisualNode)controller.GetVisualNode(0x10000002); Assert.IsNullOrEmpty(node.ErrorMessage); node = (VisualNode)controller.GetVisualNode(0x10000003); Assert.IsNullOrEmpty(node.ErrorMessage); }
public void TestHandleClearSelection() { string commands = @" CreateFunctionNode|d:405.0|d:301.0|s:Math.dll|s:Math.Sin|s:double CreateFunctionNode|d:746.0|d:267.0|s:Math.dll|s:Math.Sin|s:double 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:548.0|d:325.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:754.0|d:288.0 MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,InputSlot|i:0|e:System.Windows.Input.ModifierKeys,None MouseDown|e:System.Windows.Input.MouseButton,Left|u:0xffffffff|e:DesignScriptStudio.Graph.Core.NodePart,None|i:-1|e:System.Windows.Input.ModifierKeys,None BeginDrag|e:System.Windows.Input.MouseButton,Left|u:0xffffffff|e:DesignScriptStudio.Graph.Core.NodePart,None|i:-1|e:System.Windows.Input.ModifierKeys,None|d:353.0|d:199.0 SelectComponent|u:0x10000001|e:System.Windows.Input.ModifierKeys,None SelectComponent|u:0x10000002|e:System.Windows.Input.ModifierKeys,None SelectComponent|u:0x60000001|e:System.Windows.Input.ModifierKeys,None EndDrag|e:System.Windows.Input.MouseButton,Left|u:0xffffffff|e:DesignScriptStudio.Graph.Core.NodePart,None|i:-1|e:System.Windows.Input.ModifierKeys,None|d:926.0|d:409.0 MouseUp|e:System.Windows.Input.MouseButton,Left|u:0xffffffff|e:DesignScriptStudio.Graph.Core.NodePart,None|i:-1|e:System.Windows.Input.ModifierKeys,None ClearSelection"; GraphController graphController = new GraphController(null); bool result = graphController.RunCommands(commands); Assert.AreEqual(true, result); IVisualNode node01 = graphController.GetVisualNode(0x10000001); IVisualNode node02 = graphController.GetVisualNode(0x10000002); IVisualEdge edge = graphController.GetVisualEdge(0x60000001); Assert.AreEqual(false, ((VisualNode)node01).Selected); Assert.AreEqual(false, ((VisualNode)node02).Selected); Assert.AreEqual(false, ((VisualEdge)edge).Selected); }
public void Defect_IDE_1533() { // Create a simple file with CBN a = 1; // Save it as : DesignScriptStudio.Tests\\UnitTests\\testfiles\\Defect_IDE_1533.bin // Now try to open the file with the file name only ("Defect_IDE_1533.bin"); and verify 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:15417.0|d:15222.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,NorthWest|i:-1|e:System.Windows.Input.ModifierKeys,None EndNodeEdit|u:0x10000001|s:a = 1;|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"; GraphController graphController01 = new GraphController(null); bool result = graphController01.RunCommands(commands); Assert.AreEqual(true, result); string testPath = "..\\..\\..\\..\\Studio\\DesignScriptStudio.Tests\\UnitTests\\testfiles\\"; string filePath = testPath + "Defect_IDE_1533.bin"; graphController01.DoSaveGraph(filePath); GraphController graphController02 = new GraphController(null, filePath); GraphController controller = new GraphController(null); bool result00 = controller.RunCommands(commands); Assert.AreEqual(true, result00); VisualNode node = controller.GetVisualNode(0x10000001); Assert.AreEqual(15417, node.X); Assert.AreEqual(15222, node.Y); Assert.AreEqual(false, node.Selected); }
public void TestConnectingSlots() { string commands = @" CreateFunctionNode|d:350.0|d:346.0|s:Math.dll|s:Math.Cos|s:double CreateFunctionNode|d:636.0|d:275.0|s:ProtoGeometry.dll|s:Point.ByCoordinates|s:double,double,double 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:499.0|d:372.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:638.0|d:290.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 controller = new GraphController(null); bool result = controller.RunCommands(commands); Assert.AreEqual(true, result); List<IVisualNode> nodes = ((GraphController)controller).GetVisualNodes(); VisualNode node = (VisualNode)nodes[0]; uint slotId = node.GetOutputSlot(0); ISlot slot = ((GraphController)controller).GetSlot(slotId); result = false; if (slot.ConnectingSlots != null) result = true; Assert.AreEqual(true, result); node = (VisualNode)nodes[1]; slotId = node.GetOutputSlot(0); slot = ((GraphController)controller).GetSlot(slotId); result = false; if (slot.ConnectingSlots == null) result = true; Assert.AreEqual(true, result); }
internal EdgeController(GraphController graphController) { this.graphController = graphController; edgeCollection = new Dictionary<uint, VisualEdge>(); this.selectedSlots = new List<uint>(); connectingEdge = new VisualEdge(this, EdgeType.ExplicitConnection); }
public void Defect_IDE_1267() { //create a '+' node, and identifier and a driver and then rename all of them using double click // => verify the new names string commands = @" CreateFunctionNode|d:15427.0|d:15312.5|s:|s:+|s:double,double MouseDown|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Text|i:0|e:System.Windows.Input.ModifierKeys,None MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Text|i:0|e:System.Windows.Input.ModifierKeys,None BeginNodeEdit|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Text MouseDown|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Text|i:0|e:System.Windows.Input.ModifierKeys,None MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Text|i:0|e:System.Windows.Input.ModifierKeys,None EndNodeEdit|u:0x10000001|s:v1|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:15468.0|d:15204.0 MouseDown|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:-1|e:System.Windows.Input.ModifierKeys,None MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:-1|e:System.Windows.Input.ModifierKeys,None BeginNodeEdit|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,Caption MouseDown|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:-1|e:System.Windows.Input.ModifierKeys,None MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:-1|e:System.Windows.Input.ModifierKeys,None EndNodeEdit|u:0x10000002|s:v2|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 CreateDriverNode|d:15432.0|d:15223.5 MouseDown|e:System.Windows.Input.MouseButton,Left|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:0|e:System.Windows.Input.ModifierKeys,None BeginDrag|e:System.Windows.Input.MouseButton,Left|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:0|e:System.Windows.Input.ModifierKeys,None|d:15418.0|d:15219.0 EndDrag|e:System.Windows.Input.MouseButton,Left|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:0|e:System.Windows.Input.ModifierKeys,None|d:15330.0|d:15102.0 MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:0|e:System.Windows.Input.ModifierKeys,None MouseDown|e:System.Windows.Input.MouseButton,Left|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:0|e:System.Windows.Input.ModifierKeys,None MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:0|e:System.Windows.Input.ModifierKeys,None BeginNodeEdit|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,Caption MouseDown|e:System.Windows.Input.MouseButton,Left|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:0|e:System.Windows.Input.ModifierKeys,None MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,Caption|i:0|e:System.Windows.Input.ModifierKeys,None EndNodeEdit|u:0x10000003|s:v3|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 MouseDown|e:System.Windows.Input.MouseButton,Left|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,OutputSlot|i:0|e:System.Windows.Input.ModifierKeys,None MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,OutputSlot|i:0|e:System.Windows.Input.ModifierKeys,None BeginDrag|e:System.Windows.Input.MouseButton,Left|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,OutputSlot|i:0|e:System.Windows.Input.ModifierKeys,None|d:15363.0|d:15107.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:15446.0|d:15206.0 MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,InputSlot|i:0|e:System.Windows.Input.ModifierKeys,None 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"; GraphController controller = new GraphController(null); bool result00 = controller.RunCommands(commands); Assert.AreEqual(true, result00); VisualNode node = controller.GetVisualNode(0x10000001); Assert.AreEqual("+", node.Caption); Assert.AreEqual("v1", node.Text); node = (VisualNode)controller.GetVisualNode(0x10000002); Assert.AreEqual("v2", node.Caption); node = (VisualNode)controller.GetVisualNode(0x10000003); Assert.AreEqual("v3", node.Caption); }
public void TestRemoveSlotOperationException() { GraphController graphController = new GraphController(null); Assert.Throws<InvalidOperationException>(() => { graphController.RemoveSlot(0x60000001); }); }
public void TestRemoveVisualNodeOperationException() { GraphController graphController = new GraphController(null); Assert.Throws<InvalidOperationException>(() => { graphController.RemoveVisualNode(0x10000001); }); }
public void TestPopRecordFromUndoStorage00() { GraphController graphController = new GraphController(null); UndoRedoRecorder urr = new UndoRedoRecorder(graphController); Assert.Throws<InvalidOperationException>(() => { urr.PopRecordFromUndoStorage(); }); }
public void TestEndGroup() { GraphController graphController = new GraphController(null); UndoRedoRecorder urr = new UndoRedoRecorder(graphController); Assert.Throws<InvalidOperationException>(() => { urr.EndGroup(); }); }
public void TestSynchronizeToLifeRunnerOperationException() { GraphController graphController= new GraphController(null); Assert.Throws<InvalidOperationException>(() => { DeltaNodes deltaNodes = new DeltaNodes(); graphController.SynchronizeToLiveRunner(deltaNodes); }); }
public void TestCreate01() { IGraphController graphController = new GraphController(null); IStorage storage = null; Assert.Throws<ArgumentNullException>(() => { ISlot slot = Slot.Create(graphController, storage); }); }
public void TestSerializeNullException() { IGraphController graphController = new GraphController(null); IStorage storage = null; IVisualNode node = new RenderNode(graphController, 1); Assert.Throws<ArgumentNullException>(() => { node.Serialize(storage); }); }
public void TestRecordEdgeCreationForUndo02() { GraphController graphController = new GraphController(null); UndoRedoRecorder urr = new UndoRedoRecorder(graphController); Assert.Throws<ArgumentException>(() => { urr.BeginGroup(); urr.RecordEdgeCreationForUndo(new List<IVisualEdge>()); }); }
public void TestSerializeNullException() { IGraphController graphController = new GraphController(null); IStorage storage = null; CondensedNode node = new CondensedNode(graphController, "Hello World"); Assert.Throws<ArgumentNullException>(() => { node.Serialize(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() { IGraphController graphController = new GraphController(null); IStorage storage = null; DataHeader header = new DataHeader(); Assert.Throws<ArgumentNullException>(() => { header.Serialize(storage); }); }
protected VisualNode(IGraphController graphController, NodeType nodeType) { this.graphController = graphController as GraphController; IdGenerator idGenerator = this.graphController.GetIdGenerator(); this.nodeType = nodeType; this.version = VisualNode.Version.Current; this.nodeId = idGenerator.GetNextId(ComponentType.Node); this.nodeState = States.Visible; this.Dirty = true; this.graphController.AddVisualNode(this); }
public void TestDeserializeNullException() { 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.Deserialize(storage); }); }
public void TestSimpleAddition() { // 1. Create code block node with value of 123. // 2. Create "Add" function node. // 3. Drag to connect from output of code block node to first input of add function node. // string commands = @" CreateCodeBlockNode|d:15381.0|d:15112.0|s:Your code goes here BeginNodeEdit|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,Text EndNodeEdit|u:0x10000001|s:3|b:True CreateCodeBlockNode|d:15339.0|d:15196.0|s:Your code goes here BeginNodeEdit|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,Text EndNodeEdit|u:0x10000002|s:5|b:True CreateFunctionNode|d:15497.0|d:15135.0|s:Special Nodes|s:+|s:double,double 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:15343.0|d:15113.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:15449.0|d:15129.0 MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,InputSlot|i:0|e:System.Windows.Input.ModifierKeys,None MouseDown|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,OutputSlot|i:0|e:System.Windows.Input.ModifierKeys,None BeginDrag|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,OutputSlot|i:0|e:System.Windows.Input.ModifierKeys,None|d:15301.0|d:15199.0 EndDrag|e:System.Windows.Input.MouseButton,Left|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,InputSlot|i:1|e:System.Windows.Input.ModifierKeys,None|d:15436.0|d:15147.0 MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,InputSlot|i:1|e:System.Windows.Input.ModifierKeys,None"; GraphController controller = new GraphController(null); // Indicate that the test case is interested in the values of // all these nodes whose IDs are represented by the input array. controller.RegisterPreviewRequest(new uint[] { 0x10000001, 0x10000002, 0x10000003 }); bool result = controller.RunCommands(commands); Assert.AreEqual(true, result); // WaitForPreviewRequestCompletion method internally creates a Task and // blocks on its 'Result' property until either it timed out, or all the // requested node values are computed. Assert.AreEqual(true, controller.WaitForPreviewRequestCompletion(100000)); // These calls are just to validate requested node values. PreviewRequest requestedData = controller.GetPreviewRequest(); ProtoCore.DSASM.StackValue value = requestedData.GetNodeValue(0x10000003); Assert.AreEqual(8, value.opdata); value = requestedData.GetNodeValue(0x10000001); Assert.AreEqual(3, value.opdata); value = requestedData.GetNodeValue(0x10000002); Assert.AreEqual(5, value.opdata); }
public void TestDeserilaizeOperationException() { IGraphController graphController = new GraphController(null); IStorage storage = new BinaryStorage(); CondensedNode node = new CondensedNode(graphController, "Hello World"); ulong signature = Utilities.MakeEightCC('T', 'E', 'S', 'T', ' ', ' ', ' ', ' '); storage.WriteUnsignedInteger(signature, 21); storage.Seek(0, SeekOrigin.Begin); bool result = node.Deserialize(storage); Assert.AreEqual(result, false); }
public void Defect_IDE_1464() { // IDE-1464 Implicit connection line is going way while doing undo for explicit connection line. // Create two CBN with values "a=1;" and "b=a;". // Now drag and drop identifier node. // Now connect first CBN to Identifier node. // Now do Undo. // After undo DSS removing explicit connection line (which is correct), along with implicit connection line. (which is wrong.) 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:10444.0|d:10171.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,NorthWest|i:-1|e:System.Windows.Input.ModifierKeys,None EndNodeEdit|u:0x10000001|s:a=1;|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 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:10464.28571429|d:10239.9047619|s: BeginNodeEdit|u:0x10000002|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:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,NorthWest|i:-1|e:System.Windows.Input.ModifierKeys,None EndNodeEdit|u:0x10000002|s:b=a;|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:10572.28571429|d:10192.47619048 MouseDown|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,OutputSlot|i:0|e:System.Windows.Input.ModifierKeys,None MouseUp|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:10488.85714286|d:10184.47619048 EndDrag|e:System.Windows.Input.MouseButton,Left|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,InputSlot|i:0|e:System.Windows.Input.ModifierKeys,None|d:10573.42857143|d:10214.19047619 MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000003|e:DesignScriptStudio.Graph.Core.NodePart,InputSlot|i:0|e:System.Windows.Input.ModifierKeys,None UndoOperation"; GraphController controller = new GraphController(null); bool result = controller.RunCommands(commands); Assert.AreEqual(true, result); ISlot outputSlot = controller.GetSlot(0x30000001); // Output slot of CB Node. Assert.IsNotNull(outputSlot); ISlot inputSlot = controller.GetSlot(0x30000002); // Input slot of CB node. Assert.IsNotNull(inputSlot); // Output slot of first CB Node should connect to Input slot second CB node. uint[] connecting = outputSlot.ConnectingSlots; Assert.IsNotNull(connecting); Assert.IsTrue(connecting.Contains((uint)0x30000002)); Assert.AreEqual(3, controller.GetVisualNodes().Count); }
public void TestCreate02() { IGraphController graphController = new GraphController(null); IStorage storage = new BinaryStorage(); storage.WriteUnsignedInteger(FieldCode.NodeSignature, 12); storage.WriteInteger(FieldCode.NodeType, 21); storage.Seek(0, SeekOrigin.Begin); Assert.Throws<ArgumentException>(() => { IVisualNode node = VisualNode.Create(graphController, storage); }); }
public void TestDeserilaizeOperationException() { IGraphController graphController = new GraphController(null); IStorage storage = new BinaryStorage(); DataHeader header = new DataHeader(); storage.WriteUnsignedInteger(FieldCode.DataHeaderSignature, 21); storage.Seek(0, SeekOrigin.Begin); Assert.Throws<InvalidOperationException>(() => { header.Deserialize(storage); }); }
public void TestCreate02() { 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 TestSerializeDeserialize() { IGraphController graphController = new GraphController(null); IStorage storage = new BinaryStorage(); DataHeader header1 = new DataHeader(); header1.DataSize = 21; DataHeader header2 = new DataHeader(); header2.DataSize = 12; header1.Serialize(storage); storage.Seek(0, SeekOrigin.Begin); header2.Deserialize(storage); Assert.AreEqual(21, header2.DataSize); }
/// <summary> /// Create a new slot /// </summary> /// <param name="gc">Owning graph controller</param> /// <param name="type">Input/Output slot</param> /// <param name="firstOwner">Node where there slot resides</param> internal Slot(IGraphController gc, SlotType type, IVisualNode firstOwner) { if (gc == null || firstOwner == null) throw new ArgumentNullException(); this.graphController = gc as GraphController; Validity.Assert(this.graphController != null); IdGenerator idGenerator = this.graphController.GetIdGenerator(); this.slotType = type; this.version = Slot.Version.Current; this.slotId = idGenerator.GetNextId(ComponentType.Slot); this.slotState = SlotStates.Visible; this.owners.Add(firstOwner.NodeId); }
internal void Compose() { if (false == this.Dirty) { return; } GraphController controller = this.edgeController.GetGraphController(); IGraphVisualHost visualHost = controller.GetVisualHost(); if (null == visualHost) { return; } DrawingVisual visual = visualHost.GetDrawingVisualForEdge(this.EdgeId); DrawingContext context = visual.RenderOpen(); DrawCurve(context, this.PreviewSelected); context.Close(); }
public AuditStatus Audit() { GraphController controller = edgeController.GetGraphController(); Slot startSlot = controller.GetSlot(this.StartSlotId) as Slot; Slot endSlot = controller.GetSlot(this.EndSlotId) as Slot; if (startSlot != null && endSlot != null) { Point startPoint = startSlot.GetPosition(); Point endPoint = endSlot.GetPosition(); bool positionChanged = false; if (startSlot.SlotType == SlotType.Output) { if (startPoint != controlPoints[0] || endPoint != controlPoints[3]) { positionChanged = true; } } else { if (startPoint != controlPoints[3] || endPoint != controlPoints[0]) { positionChanged = true; } } if (positionChanged) { UpdateControlPoint(startPoint, endPoint, startSlot.SlotType != SlotType.Output); //this.Dirty = true; //this.Compose(); return(AuditStatus.PersistentDataChanged); } } return(AuditStatus.NoChange); }
protected VisualNode(IGraphController graphController) { this.graphController = graphController as GraphController; IdGenerator idGenerator = this.graphController.GetIdGenerator(); }
private Slot(IGraphController graphController) { this.graphController = graphController as GraphController; }
internal void Compose() { GraphController controller = graphController as GraphController; IGraphVisualHost visualHost = controller.GetVisualHost(); if (null == visualHost) { return; // Running in headless mode, draw no further. } DrawingVisual bubbleVisual = visualHost.GetDrawingVisualForBubble(this.bubbleId); DrawingContext drawingContext = bubbleVisual.RenderOpen(); string text = this.content as string; if (string.IsNullOrEmpty(text)) { drawingContext.Close(); return; } if (this.ErrType == ErrorType.None) { ErrorManager.HandleError(new InvalidOperationException("'errorType' is not set")); } VisualNode node = graphController.GetVisualNode(this.OwnerId); this.anchorPoint.X = node.Width / 2; this.anchorPoint.Y = -Configurations.InfoBubbleTopMargin; this.anchorPoint = new Point((int)this.anchorPoint.X, (int)this.anchorPoint.Y); this.arrowLeft = new Point((int)this.anchorPoint.X - Configurations.InfoBubbleArrowWidthHalf, (int)this.anchorPoint.Y - Configurations.InfoBubbleArrowHeight); this.arrowRight = new Point((int)this.anchorPoint.X + Configurations.InfoBubbleArrowWidthHalf, (int)this.anchorPoint.Y - Configurations.InfoBubbleArrowHeight); this.arrowLeft.Offset(-1, -2); this.arrowRight.Offset(1, -2); double textLength; int textHorizontalMargin; int textVerticalMargin; FormattedText newText; SolidColorBrush textColor; SolidColorBrush backgroundColor; Pen borderPen; if (this.ErrType == ErrorType.Warning) { textColor = Configurations.ErrorBubbleWarningTextColor; borderPen = Configurations.ErrorBubbleWarningBorderPen; backgroundColor = Configurations.ErrorBubbleWarningBackground; } else { textColor = Configurations.ErrorBubbleErrorTextColor; borderPen = Configurations.ErrorBubbleErrorBorderPen; //if (this.node.Selected == true) backgroundColor = Configurations.ErrorBubbleErrorBackgroundActive; //else // backgroundColor = Configurations.ErrorBubbleErrorBackgroundNonActive; } textHorizontalMargin = Configurations.InfoBubbleMargin; textVerticalMargin = Configurations.InfoBubbleMargin; newText = new FormattedText(text, Configurations.culture, FlowDirection.LeftToRight, Configurations.TypeFace, Configurations.InfoBubbleText, textColor); newText.LineHeight = Configurations.InfoBubbleText; textLength = newText.WidthIncludingTrailingWhitespace; this.rectWidth = (int)(textLength + textHorizontalMargin * 2); this.rectHeight = (int)(textVerticalMargin * 2 + newText.Height); if (this.rectWidth < Configurations.InfoBubbleMinWidth) { this.rectWidth = Configurations.InfoBubbleMinWidth; } this.rectPoint = new Point((int)(this.anchorPoint.X - this.rectWidth / 2) + 0.5, (int)(this.anchorPoint.Y - Configurations.InfoBubbleArrowHeight - this.rectHeight) + 0.5); //Draw Bubble base.DrawBubble(drawingContext, backgroundColor, borderPen, true); //Draw Text drawingContext.DrawText(newText, new Point(this.rectPoint.X + textHorizontalMargin, this.rectPoint.Y + textVerticalMargin)); drawingContext.Close(); TranslateTransform transform = bubbleVisual.Transform as TranslateTransform; transform.X = node.X; transform.Y = node.Y; }
internal UndoRedoRecorder(IGraphController graphController) { this.graphController = graphController as GraphController; this.actionCount = -1; }