Example #1
0
        public void Test6(SchemeView scheme)
        {
            builder = new ComponentBuilder(scheme);

            var input  = builder.BuildInput();
            var output = builder.BuildOutput();

            var gate  = builder.BuildGate();
            var gate2 = builder.BuildGate();

            scheme.Connect(input, gate);
            scheme.Connect(gate, gate2);
            scheme.Connect(gate2, output);

            Debug.Assert(scheme.Wires.Count() == 3);
        }
Example #2
0
        public void Test9(SchemeView scheme)
        {
            builder = new ComponentBuilder(scheme);

            var input  = builder.BuildInput();
            var input2 = builder.BuildInput();
            var output = builder.BuildOutput();

            var gate  = builder.BuildGate();
            var gate2 = builder.BuildGate(GateEnum.And, 2);
            var gate3 = builder.BuildGate();

            scheme.Connect(input, gate);
            scheme.Connect(gate, gate2);
            scheme.Connect(input2, gate2, 1);
            scheme.Connect(gate2, gate3);
            scheme.Connect(gate3, output);

            Debug.Assert(scheme.Wires.Count() == 5);
        }
Example #3
0
        public void Test16(SchemeView scheme)
        {
            builder = new ComponentBuilder(scheme);

            var input = builder.BuildInput();

            var gate   = builder.BuildGate();
            var gate1  = builder.BuildGate();
            var gate2  = builder.BuildGate();
            var gate3  = builder.BuildGate();
            var gate4  = builder.BuildGate();
            var gate5  = builder.BuildGate();
            var gate6  = builder.BuildGate();
            var gate7  = builder.BuildGate();
            var gate8  = builder.BuildGate();
            var gate9  = builder.BuildGate();
            var gate10 = builder.BuildGate();

            var gate11 = builder.BuildGate(GateEnum.And, 4);
            var gate12 = builder.BuildGate(GateEnum.And, 3);
            var gate13 = builder.BuildGate(GateEnum.And, 3);

            var gate14 = builder.BuildGate(GateEnum.And, 3);

            var output = builder.BuildOutput();

            scheme.Connect(input, gate);
            scheme.Connect(input, gate1);
            scheme.Connect(input, gate2);
            scheme.Connect(input, gate3);
            scheme.Connect(input, gate4);
            scheme.Connect(input, gate5);
            scheme.Connect(input, gate6);
            scheme.Connect(input, gate7);
            scheme.Connect(input, gate8);
            scheme.Connect(input, gate9);

            scheme.Connect(gate, gate11, 0, 0);
            scheme.Connect(gate2, gate11, 0, 1);
            scheme.Connect(gate3, gate11, 0, 2);
            scheme.Connect(gate4, gate11, 0, 3);

            scheme.Connect(gate5, gate12, 0, 0);
            scheme.Connect(gate6, gate12, 0, 1);
            scheme.Connect(gate7, gate12, 0, 2);

            scheme.Connect(gate8, gate13, 0, 0);
            scheme.Connect(gate9, gate13, 0, 1);
            scheme.Connect(gate10, gate13, 0, 2);

            scheme.Connect(gate11, gate14, 0, 0);
            scheme.Connect(gate12, gate14, 0, 1);
            scheme.Connect(gate13, gate14, 0, 2);

            scheme.Connect(gate14, output);

            Debug.Assert(scheme.Wires.Count() == 24);
        }