public void SequenceFactoryTest_005()
        {
            var Sequence =
                ComPortAccessSequenceRunner.SequenceFactory(
                    ComPortAccessSequenceRunner.SequenceName.SEQUENCE_NAME_MAX);

            Assert.IsNull(Sequence);
        }
        public void SequenceFactoryTest_003()
        {
            var Sequence =
                ComPortAccessSequenceRunner.SequenceFactory(
                    ComPortAccessSequenceRunner.SequenceName.SEQUENCE_NAME_SEND_AND_RECV);

            Assert.IsInstanceOfType(Sequence, typeof(EchoBackComPortSendRecvSequence));
        }
        public void SequenceFactoryTest_002()
        {
            var Sequence =
                ComPortAccessSequenceRunner.SequenceFactory(
                    ComPortAccessSequenceRunner.SequenceName.SEQUENCE_NAME_DISCONNECT);

            Assert.IsInstanceOfType(Sequence, typeof(ComPortDisconnectSequence));
        }
        public void ChangeSequenceTest()
        {
            ComPortAccessSequenceRunner Runner = new ComPortAccessSequenceRunner(new ComPort("", ""));

            Task tsk = Runner.StartSequence(null);

            Thread.Sleep(4000);

            Console.WriteLine("End test");
        }
        public void SetComPortTest_001()
        {
            var Runner = new ComPortAccessSequenceRunner();

            Runner.SetComPort(new ComPort("COM41", "Device"));

            Assert.AreEqual("COM41", Runner.ComPort.Name);
            Assert.AreEqual("Device", Runner.ComPort.Device);
            Assert.AreEqual("COM41", Runner.ComPortAcc.ComPort.Name);
            Assert.AreEqual("Device", Runner.ComPortAcc.ComPort.Device);
            Assert.AreEqual(null, Runner.CurTask);
        }
        public void ComPortAccessSequenceRunnerTest_001()
        {
            this.IsSequenceStartedEventHandler       = false;
            this.IsSequenceStartingEventHandler      = false;
            this.IsSequenceFinishedEventHandler      = false;
            this.IsSequenceStartingEventHandlerCount = 0;
            this.IsSequenceStartedEventHandlerCount  = 0;
            this.IsSequenceStartingEventHandlerCount = 0;
            ComPortAccessSequenceRunner Runner =
                new ComPortAccessSequenceRunner(new ComPort("COM41", "Device"));

            Runner.SequenceStartedEvent  += this.OnSequenceStartedEventHandler;
            Runner.SequenceStartingEvent += this.OnSequenceStartingEventHandler;
            Runner.SequenceFinishedEvent += this.OnSequenceFinishedEventHandler;
            Runner.DataSendReceiveEvent  += this.OnDataSendRecvEventHandler;
            Runner.ChangeAndStartSequence(ComPortAccessSequenceRunner.SequenceName.SEQUENCE_NAME_CONNECT);

            while (!Runner.CurTask.Status.Equals(TaskStatus.RanToCompletion))
            {
                ;
            }

            Runner.ChangeAndStartSequence(ComPortAccessSequenceRunner.SequenceName.SEQUENCE_NAME_SEND_AND_RECV);

            Thread.Sleep(3000);
            Assert.IsTrue(this.IsSequenceStartedEventHandler);
            Assert.IsTrue(this.IsSequenceStartingEventHandler);
            Assert.IsTrue(this.IsSequenceFinishedEventHandler);

            Runner.ChangeAndStartSequence(ComPortAccessSequenceRunner.SequenceName.SEQUENCE_NAME_DISCONNECT);

            while (!Runner.CurTask.Status.Equals(TaskStatus.RanToCompletion))
            {
                ;
            }
            Assert.IsTrue(this.IsSequenceStartedEventHandler);
            Assert.IsTrue(this.IsSequenceStartingEventHandler);
            Assert.IsTrue(this.IsSequenceFinishedEventHandler);
            Assert.IsTrue(this.IsDataSendRecvEventHandler);
            Assert.AreEqual(this.IsSequenceStartingEventHandlerCount, 3);
            Assert.AreEqual(this.IsSequenceStartedEventHandlerCount, 3);
            Assert.AreEqual(this.IsSequenceFinishedEventHandlerCount, 3);

            Runner.SequenceStartedEvent  -= this.OnSequenceStartedEventHandler;
            Runner.SequenceStartingEvent -= this.OnSequenceStartingEventHandler;
            Runner.SequenceFinishedEvent -= this.OnSequenceFinishedEventHandler;
            Runner.DataSendReceiveEvent  -= this.OnDataSendRecvEventHandler;
        }