예제 #1
0
        public void MediumCompositeCircut()
        {
            var notGate1 = NotGateBuilder
                           .WithInput(Generator.AnInactiveSignal())
                           .Build();

            var notGate2 = NotGateBuilder
                           .WithInput(Generator.AnActiveSignal())
                           .Build();

            var andGate = AndGateBuilder
                          .WithInput(notGate1)
                          .WithInput(notGate2)
                          .Build();

            var notGate3 = NotGateBuilder
                           .WithInput(andGate)
                           .Build();

            var orGate = OrGateBuilder
                         .WithInput(Generator.AnInactiveSignal())
                         .WithInput(notGate3)
                         .Build();

            Assert.True(orGate.Output());
        }
예제 #2
0
        public void One_And_One_Is_One()
        {
            var andGate = AndGateBuilder
                          .WithInput(Generator.AnActiveSignal())
                          .WithInput(Generator.AnActiveSignal())
                          .Build();

            Assert.True(andGate.Output());
        }
예제 #3
0
        public void Zero_And_One_Is_Zero()
        {
            var andGate = AndGateBuilder
                          .WithInput(Generator.AnActiveSignal())
                          .WithInput(Generator.AnInactiveSignal())
                          .Build();

            Assert.False(andGate.Output());
        }
예제 #4
0
        public void One_Or_One_Is_One()
        {
            var orGate = OrGateBuilder
                         .WithInput(Generator.AnActiveSignal())
                         .WithInput(Generator.AnActiveSignal())
                         .Build();

            Assert.True(orGate.Output());
        }
예제 #5
0
        public void One_Xor_One_Xor_Zero_Is_Zero()
        {
            var xorGate = XorGateBuilder
                          .WithInput(Generator.AnActiveSignal())
                          .WithInput(Generator.AnActiveSignal())
                          .WithInput(Generator.AnInactiveSignal())
                          .Build();

            Assert.False(xorGate.Output());
        }
예제 #6
0
        public void One_Negated_Is_Zero()
        {
            var notGate = NotGateBuilder
                          .WithInput(
                Generator.AnActiveSignal()
                )
                          .Build();

            Assert.False(notGate.Output());
        }
예제 #7
0
        //  can be removed; just trying out stuff
        public void BasicComposite_NoBuilders()
        {
            var notGate = new NotGate();

            notGate.SetInput(Generator.AnInactiveSignal());

            var orGate = new OrGate();

            orGate.AddInput(Generator.AnInactiveSignal());
            orGate.AddInput(Generator.AnActiveSignal());

            var andGate = new AndGate();

            andGate.AddInput(notGate);
            andGate.AddInput(orGate);

            Assert.True(andGate.Output());
        }
예제 #8
0
        public void BasicCompositeCircuit()
        {
            var notGate = NotGateBuilder
                          .WithInput(Generator.AnInactiveSignal())
                          .Build();

            var orGate = OrGateBuilder
                         .WithInput(Generator.AnInactiveSignal())
                         .WithInput(Generator.AnActiveSignal())
                         .Build();

            var andGate = AndGateBuilder
                          .WithInput(notGate)
                          .WithInput(orGate)
                          .Build();

            Assert.True(andGate.Output());
        }