コード例 #1
0
        public static void TestNestedSerial2()
        {
            Reset();

            var serialCommand1 = new SerialCommand();

            serialCommand1.Add(() => SetToTrue(0));
            serialCommand1.Add(() => SetToTrue(1));

            var serialCommand2 = new SerialCommand();

            serialCommand2.Add(() => SetToTrue(2));
            serialCommand2.Add(() => SetToTrue(3));

            var fullCommand = new SerialCommand();

            fullCommand.Add(serialCommand1);
            fullCommand.Add(serialCommand2);

            fullCommand.MoveNext();
            Compare(new[] { true, false, false, false });
            fullCommand.MoveNext();

            Compare(new[] { true, true, false, false });

            fullCommand.MoveNext();
            Compare(new[] { true, true, true, false });
            fullCommand.MoveNext();
            Compare(new[] { true, true, true, true });
        }
コード例 #2
0
        public static void TestSerial1()
        {
            Reset();
            var command = new SerialCommand();

            command.Add(() => SetToTrue(0));
            command.MoveNext();
            Compare(new[] { true });
        }
コード例 #3
0
        public static void TestSerialEnumeratorFinish()
        {
            Reset();

            var serialCommand = new SerialCommand();

            serialCommand.Add(() => SetToTrue(0));
            serialCommand.Add(SetToFalseEnumerator(0));
            serialCommand.Run();
            Compare(new[] { false });
        }
コード例 #4
0
        public static void TestComposite1()
        {
            Reset();

            var serialCommand = new SerialCommand();

            serialCommand.Add(() => SetToTrue(0));

            var parallelCommand = new ParallelCommand();

            parallelCommand.Add(() => SetToFalse(0));
            parallelCommand.Add(() => SetToTrue(1));

            serialCommand.Add(parallelCommand);
            serialCommand.Run();

            Compare(new[] { false, true });
        }
コード例 #5
0
        public static void TestSerial3()
        {
            Reset();

            var serialCommand = new SerialCommand();

            serialCommand.Add(() => SetToTrue(0));
            serialCommand.Add(() => SetToTrue(1));
            serialCommand.Add(() => SetToTrue(2));

            serialCommand.MoveNext();
            Compare(new[] { true, false, false });

            serialCommand.MoveNext();
            Compare(new[] { true, true, false });

            serialCommand.MoveNext();
            Compare(new[] { true, true, true });
        }
コード例 #6
0
        public static void TestParallelEnumerator8()
        {
            Reset();

            var parallelCommand = new ParallelCommand();

            parallelCommand.Add(SetToTrueEnumerator(0));
            parallelCommand.Add(SetToTrueEnumerator(1));

            var serialCommand = new SerialCommand();

            serialCommand.Add(() => SetToFalse(0));
            serialCommand.Add(() => SetToFalse(1));

            var fullCommand = new SerialCommand();

            fullCommand.Add(parallelCommand);
            fullCommand.Add(serialCommand);

            fullCommand.Run();
            Compare(new[] { false, false });
        }