| 277 | } |
| 278 | |
| 279 | void |
| 280 | SerialStreamUnitTests::testSerialStreamIsDataAvailableTest() |
| 281 | { |
| 282 | serialStream1.Open(TEST_SERIAL_PORT_1) ; |
| 283 | serialStream2.Open(TEST_SERIAL_PORT_2) ; |
| 284 | |
| 285 | ASSERT_TRUE(serialStream1.IsOpen()) ; |
| 286 | ASSERT_TRUE(serialStream2.IsOpen()) ; |
| 287 | |
| 288 | ASSERT_FALSE(serialStream1.IsDataAvailable()) ; |
| 289 | ASSERT_FALSE(serialStream2.IsDataAvailable()) ; |
| 290 | |
| 291 | char writeByte = 'a'; |
| 292 | char readByte = 'b'; |
| 293 | |
| 294 | serialStream1.write(&writeByte, 1) ; |
| 295 | serialStream1.DrainWriteBuffer() ; |
| 296 | |
| 297 | // Allow time for the read buffer to show that data is available. |
| 298 | usleep(readBufferDelay) ; |
| 299 | |
| 300 | ASSERT_TRUE(serialStream2.IsDataAvailable()) ; |
| 301 | |
| 302 | serialStream2.read(&readByte, 1) ; |
| 303 | ASSERT_EQ(readByte, writeByte) ; |
| 304 | |
| 305 | serialStream2.write(&writeByte, 1) ; |
| 306 | serialStream2.DrainWriteBuffer() ; |
| 307 | |
| 308 | // Allow time for the read buffer to show that data is available. |
| 309 | usleep(readBufferDelay) ; |
| 310 | |
| 311 | ASSERT_TRUE(serialStream1.IsDataAvailable()) ; |
| 312 | |
| 313 | serialStream1.read(&readByte, 1) ; |
| 314 | ASSERT_EQ(readByte, writeByte) ; |
| 315 | |
| 316 | ASSERT_FALSE(serialStream1.IsDataAvailable()) ; |
| 317 | ASSERT_FALSE(serialStream2.IsDataAvailable()) ; |
| 318 | |
| 319 | serialStream1.Close() ; |
| 320 | serialStream2.Close() ; |
| 321 | |
| 322 | ASSERT_FALSE(serialStream1.IsOpen()) ; |
| 323 | ASSERT_FALSE(serialStream2.IsOpen()) ; |
| 324 | } |
| 325 | |
| 326 | void |
| 327 | SerialStreamUnitTests::testSerialStreamIsOpenTest() |
nothing calls this directly
no test coverage detected