Пример #1
0
        public void ReceivedEvent_CharsEof()
        {
            using (SerialPort com1 = new SerialPort(TCSupport.LocalMachineSerialInfo.FirstAvailablePortName))
                using (SerialPort com2 = new SerialPort(TCSupport.LocalMachineSerialInfo.SecondAvailablePortName))
                {
                    ReceivedEventHandler rcvEventHandler = new ReceivedEventHandler(com1);

                    byte[] xmitBytes = new byte[3];

                    Debug.WriteLine("Verifying EofReceived event");

                    com1.Open();
                    com2.Open();
                    com1.DataReceived += rcvEventHandler.HandleEvent;

                    //EOF char
                    xmitBytes[0] = 56;
                    xmitBytes[1] = 26;
                    xmitBytes[2] = 55;

                    for (int i = 0; i < NUM_TRYS; i++)
                    {
                        com2.Write(xmitBytes, 0, xmitBytes.Length);
                        rcvEventHandler.WaitForEvent(MAX_TIME_WAIT, SerialData.Eof);

                        rcvEventHandler.Validate(SerialData.Eof, i * xmitBytes.Length);

                        rcvEventHandler.Validate(SerialData.Chars, (i * xmitBytes.Length) + com1.ReceivedBytesThreshold);

                        if (0 != rcvEventHandler.NumberOfOccurrencesOfType(SerialData.Eof))
                        {
                            Fail("Err_20712asdfhow!!! Unexpected EofReceived event fired {0} iteration:{1}",
                                 rcvEventHandler.NumberOfOccurrencesOfType(SerialData.Eof), i);
                        }

                        rcvEventHandler.Clear();
                    }
                }
        }
Пример #2
0
    public bool ReceivedEvent_CharsEof()
    {
        SerialPort           com1            = new SerialPort(TCSupport.LocalMachineSerialInfo.FirstAvailablePortName);
        SerialPort           com2            = new SerialPort(TCSupport.LocalMachineSerialInfo.SecondAvailablePortName);
        ReceivedEventHandler rcvEventHandler = new ReceivedEventHandler(com1);
        bool retValue = true;

        byte[] xmitBytes = new byte[3];

        Console.WriteLine("Verifying EofReceived event");

        com1.Open();
        com2.Open();
        com1.DataReceived += new SerialDataReceivedEventHandler(rcvEventHandler.HandleEvent);

        //EOF char
        xmitBytes[0] = 56;
        xmitBytes[1] = 26;
        xmitBytes[2] = 55;

        for (int i = 0; i < NUM_TRYS; i++)
        {
            com2.Write(xmitBytes, 0, xmitBytes.Length);
            rcvEventHandler.WaitForEvent(MAX_TIME_WAIT, SerialData.Eof);

            if (!rcvEventHandler.Validate(SerialData.Eof, i * xmitBytes.Length))
            {
                Console.WriteLine("Err_09727ahsp!!!EOF Event not fired {0}", i);
                retValue = false;
            }

            if (!rcvEventHandler.Validate(SerialData.Chars, (i * xmitBytes.Length) + com1.ReceivedBytesThreshold))
            {
                Console.WriteLine("Err_27928adshs !!!ReceivedChars Event not fired {0}", i);
                retValue = false;
            }

            if (0 != rcvEventHandler.NumberOfOccurencesOfType(SerialData.Eof))
            {
                Console.WriteLine("Err_20712asdfhow!!! Unexpected EofReceived event fired {0} iteration:{1}",
                                  rcvEventHandler.NumberOfOccurencesOfType(SerialData.Eof), i);
                retValue = false;
            }

            rcvEventHandler.Clear();
        }

        if (!retValue)
        {
            Console.WriteLine("Err_3468eadhs!!! Verifying CharsReceived and EofReceived event FAILED");
        }

        if (com1.IsOpen)
        {
            com1.Close();
        }

        if (com2.IsOpen)
        {
            com2.Close();
        }

        return(retValue);
    }