Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        /// <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(() => { });
        }