public void TestDisconnectWire_DisconnectWireOnConnectedWireInvoked() { var terminalModelInput = new TerminalModel("", typeof(int), Direction.North, TerminalKind.Input, 0); var terminalModelOutput = new TerminalModel("", typeof(int), Direction.North, TerminalKind.Output, 0); var wireMoq = new Mock <WireModel>(terminalModelInput, terminalModelOutput); terminalModelInput.ConnectWire(wireMoq.Object); terminalModelInput.DisconnectWire(wireMoq.Object); Assert.AreEqual(0, terminalModelInput.ConnectedWires.Count); }
/// <inheritdoc/> public Action Execute(object parameter) { if (parameter is TerminalModel toTerminal) { var wire = new WireModel(); _fromTerminal.ConnectWire(wire, toTerminal); var wireViewModel = new Wire(wire, new WirePathingAlgorithum()) { DoAnimationWhenViewIsLoaded = _animateWireWhenLoaded, }; _diagram.AddWire(wireViewModel); return(() => { _fromTerminal.DisconnectWire(wire, toTerminal); _diagram.RemoveWire(wireViewModel); }); } return(() => { }); }