public void SetInvalidAmountInputsTest() { var inputNode1 = new InputNode("in1"); var inputNode2 = new InputNode("in2"); var orNode = new OrNode("or"); var outputNode = new OutputNode("out"); var nodeConnections = new List <NodeConnection> { new NodeConnection( new List <NodeBase> { inputNode1, inputNode2 }, orNode), new NodeConnection(orNode, outputNode) }; var inputNodes = new List <InputNode> { inputNode1, inputNode2 }; var simulation = new NodeSimulation(nodeConnections); var inputValues = new Dictionary <string, State> { { inputNode1.NodeId, new State(true) }, { inputNode2.NodeId, new State(false) }, { orNode.NodeId, new State(false) } }; Assert.Throws <ArgumentException>(() => simulation.SetInputs(inputValues)); }
public void SetInputsTest() { var inputNode1 = new InputNode("in1"); var inputNode2 = new InputNode("in2"); var orNode = new OrNode("or"); var outputNode = new OutputNode("out"); var nodeConnections = new List <NodeConnection> { new NodeConnection( new List <NodeBase> { inputNode1, inputNode2 }, orNode), new NodeConnection(orNode, outputNode) }; var inputNodes = new List <InputNode> { inputNode1, inputNode2 }; var simulation = new NodeSimulation(nodeConnections); var inputValues = new Dictionary <string, State> { { inputNode1.NodeId, new State(true) }, { inputNode2.NodeId, new State(false) } }; simulation.SetInputs(inputValues); Assert.True(simulation.GetInputNodes().Where(x => x.NodeId == inputNode1.NodeId).Single().CurrentState.LogicState); Assert.False(simulation.GetInputNodes().Where(x => x.NodeId == inputNode2.NodeId).Single().CurrentState.LogicState); }