예제 #1
0
        public void Device_Should_WriteCorrectData_WhenClientCycles()
        {
            MockIncrementingClientsHandler clients = new MockIncrementingClientsHandler(lights);

            rs232Device = CreateRS232Device(clients);

            rs232Device.Run(255);
            rs232Device.StopThread();

            MockSerialPort mockSerialPort = MockSerialPort.Instance;

            string[] expectedResults = File.ReadAllLines(Path.Combine(_resultsFolderPath, "RS232CycleResults.txt"));

            Assert.AreEqual(expectedResults.Length, mockSerialPort.Writes.Count);

            for (int i = 0; i < expectedResults.Length; i++)
            {
                string[] resultPieces = expectedResults[i].Split(" ");

                Assert.AreEqual(resultPieces.Length, mockSerialPort.Writes[i].Length);

                for (int j = 0; j < resultPieces.Length; j++)
                {
                    Assert.AreEqual(int.Parse(resultPieces[j], System.Globalization.NumberStyles.HexNumber), mockSerialPort.Writes[i][j]);
                }
            }
        }
예제 #2
0
        public void TearDown()
        {
            if (rs232Device != null)
            {
                rs232Device.StopThread();
                rs232Device = null;
            }

            lights  = null;
            devices = null;
            config  = null;
        }