示例#1
0
        public void ConnectTest()
        {
            const int portNumber      = 6; // Номер COM-порта.
            const int numberOfRepeats = 3; // Количество повторов запроса команды для теста получения серии ответов..

            // Перед началом теста, необходимо убетиться, что COM-порт доступен и не занят. Иначе тест выполнять не имеет смысла.
            if (!SerialPortAdapter.IsPortAccessible(portNumber))
            {
                Assert.Inconclusive();
            }

            var connector = new SerialPortAdapter(portNumber);

            hart = new HartProtocol(connector, true, FrameFormats.Short);

            connector.DataReceived += NewData;

            var request = new Request(false, 0)
            {
                Preamble = 5,
                Command  = 3
            };

            hart.Connect();
            Thread.Sleep(1000);
            Assert.IsTrue(hart.IsConnected);

            for (var i = 1; i <= numberOfRepeats; i++)
            {
                hart.Request(request);
                Thread.Sleep(1000);
            }

            hart.Disconnect();
            Assert.IsFalse(hart.IsConnected);
            Assert.IsTrue(hart.Messages.Count == 0);
            Assert.IsTrue(response.Count == numberOfRepeats);
        }