Пример #1
0
        public void TestXNOrGateNoOutput()
        {
            List<SimulatedComponent> components = new List<SimulatedComponent>();

            XNOrGate og = new XNOrGate();

            Connector inputConnectorA = new Connector();
            og.ConnectInputA(inputConnectorA);
            Connector inputConnectorB = new Connector();
            og.ConnectInputB(inputConnectorB);

            components.Add(og);

            bool currSignal1 = false;
            bool currSignal2 = false;

            for (int x = 1; x < 30; x++)
            {
                inputConnectorA.SendSignal(currSignal1);
                inputConnectorB.SendSignal(currSignal2);

                foreach (SimulatedComponent sc in components)
                {
                    sc.Tick();
                }

                Console.WriteLine("Signal1[" + currSignal1.ToString() + "] Signal2[" + currSignal2.ToString() + "]");

                currSignal1 = !currSignal1;
                if (currSignal1 == false)
                {
                    currSignal2 = !currSignal2;
                }
            }
        }
Пример #2
0
        public void TestXNOrGateNoInputB()
        {
            List<SimulatedComponent> components = new List<SimulatedComponent>();

            XNOrGate og = new XNOrGate();

            Connector inputConnectorA = new Connector();
            og.ConnectInputA(inputConnectorA);

            Connector outputConnector = new Connector();
            og.ConnectOutput(outputConnector);


            components.Add(og);

            bool currSignal1 = false;
            bool currSignal2 = false;

            for (int x = 1; x < 30; x++)
            {
                inputConnectorA.SendSignal(currSignal1);

                foreach (SimulatedComponent sc in components)
                {
                    sc.Tick();
                }

                Console.WriteLine("Signal1[" + currSignal1.ToString() + "] Signal2[" + currSignal2.ToString() + "] = Result[" + outputConnector.HasSignal().ToString() + "]");
                Assert.IsTrue( ! (outputConnector.HasSignal() == currSignal1));

                currSignal1 = !currSignal1;
                if (currSignal1 == false)
                {
                    currSignal2 = !currSignal2;
                }
            }
        }