public void NotNotNodeTest() { var inputNode = new InputNode("in", new State(true)); var notNode1 = new NotNode("not1"); var notNode2 = new NotNode("not2"); var outputNode = new OutputNode("out"); var nodeConnections = new List <NodeConnection> { new NodeConnection(inputNode, notNode1), new NodeConnection(notNode1, notNode2), new NodeConnection(notNode2, outputNode) }; var inputNodes = new List <InputNode> { inputNode }; var simulation = new NodeSimulation(nodeConnections); simulation.RunSimulation(); var output = simulation.GetOutputState(); Assert.True(output["out"].LogicState); }
public void AndNodeTest() { var inputNode1 = new InputNode("in1", new State(true)); var inputNode2 = new InputNode("in2", new State(true)); var andNode = new AndNode("and"); var outputNode = new OutputNode("out"); var nodeConnections = new List <NodeConnection> { new NodeConnection( new List <NodeBase> { inputNode1, inputNode2 }, andNode), new NodeConnection(andNode, outputNode) }; var inputNodes = new List <InputNode> { inputNode1, inputNode2 }; var simulation = new NodeSimulation(nodeConnections); simulation.RunSimulation(); var output = simulation.GetOutputState(); Assert.True(output["out"].LogicState); }
public void ResetSimulationTest() { var inputNode1 = new InputNode("in1", new State(false)); var inputNode2 = new InputNode("in2", new State(true)); 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); simulation.RunSimulation(); simulation.ResetSimulation(); var output = simulation.GetOutputState(); Assert.Null(output["out"]); }