public void OnConnectorDelete_WithConnectionRemovedHandler() { //Arrange var sourceNode = Guid.NewGuid(); var targetNode = Guid.NewGuid(); var sourceNodeControl = new Mock<INodeControlView>(); sourceNodeControl.SetupGet(n => n.NodeId).Returns(sourceNode); sourceNodeControl.SetupGet(n => n.CenterPosition).Returns(new Point()); var targetNodeControl = new Mock<INodeControlView>(); targetNodeControl.SetupGet(n => n.NodeId).Returns(targetNode); targetNodeControl.SetupGet(n => n.CenterPosition).Returns(new Point()); var connector = new Connector(_control); connector.SetSourceNode(sourceNodeControl.Object); connector.SetTargetNode(targetNodeControl.Object); NodeConnectionEventArgs eventArgs = null; _control.ConnectionRemoved += (sender, args) => eventArgs = args; //Act _control.OnConnectorDelete(connector, EventArgs.Empty); //Assert Assert.IsNotNull(eventArgs); Assert.AreEqual(sourceNode, eventArgs.SourceNodeId); Assert.AreEqual(targetNode, eventArgs.TargetNodeId); }
public void DataBind(NetworkMapModel model) { if (model == null || model.Nodes == null) return; var nodeControls = new List<NodeControl>(); foreach (var node in model.Nodes) { var nodeControl = CreateNodeControl(node); nodeControls.Add(nodeControl); Controls.Add(nodeControl); } if (model.Connections == null) return; foreach (var connection in model.Connections) { var sourceControl = nodeControls.FirstOrDefault(n => n.NodeId == connection.SourceNodeId); var targetControl = nodeControls.FirstOrDefault(n => n.NodeId == connection.TargetNodeId); if (sourceControl == null || targetControl == null) continue; var connector = new Connector(this); connector.SetSourceNode(sourceControl); connector.SetTargetNode(targetControl); connector.Delete += OnConnectorDelete; Controls.Add(connector); } }