@@ -8,18 +8,20 @@ unittest(begin_write_end) {
88 deque<uint8_t >* mosi = Wire.getMosi (14 );
99 assertEqual (0 , mosi->size ());
1010
11- // write some random values to random slave
11+ // write some random data to random slave
12+ const uint8_t randomSlaveAddr = 14 ;
13+ const uint8_t randomData[] = { 0x07 , 0x0E };
1214 Wire.begin ();
13- Wire.beginTransmission (14 );
14- Wire.write (0x07 );
15- Wire.write (0x0E );
15+ Wire.beginTransmission (randomSlaveAddr );
16+ Wire.write (randomData[ 0 ] );
17+ Wire.write (randomData[ 1 ] );
1618 Wire.endTransmission ();
1719
1820 // check master write buffer values
1921 assertEqual (2 , mosi->size ());
20- assertEqual (0x07 , mosi->front ());
22+ assertEqual (randomData[ 0 ] , mosi->front ());
2123 mosi->pop_front ();
22- assertEqual (0x0E , mosi->front ());
24+ assertEqual (randomData[ 1 ] , mosi->front ());
2325 mosi->pop_front ();
2426 assertEqual (0 , mosi->size ());
2527}
@@ -28,29 +30,34 @@ unittest(readTwo_writeOne) {
2830 Wire.begin ();
2931 deque<uint8_t >* miso;
3032 // place some values on random slaves' read buffers
31- miso = Wire.getMiso (19 );
32- miso->push_back (0x07 );
33- miso->push_back (0x0E );
34- miso = Wire.getMiso (34 );
35- miso->push_back (1 );
36- miso->push_back (4 );
37- miso->push_back (7 );
33+ const int randomSlaveAddr = 19 , anotherRandomSlave = 34 ;
34+ const uint8_t randomData[] = { 0x07 , 0x0E }, moreRandomData[] = { 1 , 4 , 7 };
35+ miso = Wire.getMiso (randomSlaveAddr);
36+ miso->push_back (randomData[0 ]);
37+ miso->push_back (randomData[1 ]);
38+ miso = Wire.getMiso (anotherRandomSlave);
39+ miso->push_back (moreRandomData[0 ]);
40+ miso->push_back (moreRandomData[1 ]);
41+ miso->push_back (moreRandomData[2 ]);
3842
3943 // check read buffers and read-related functions
40- assertEqual (0 , Wire.requestFrom (19 , 3 ));
41- assertEqual (2 , Wire.requestFrom (19 , 2 ));
44+ // request more data than is in input buffer
45+ assertEqual (0 , Wire.requestFrom (randomSlaveAddr, 3 ));
46+ assertEqual (0 , Wire.available ());
47+ // normal use cases
48+ assertEqual (2 , Wire.requestFrom (randomSlaveAddr, 2 ));
4249 assertEqual (2 , Wire.available ());
43- assertEqual (0x07 , Wire.read ());
50+ assertEqual (randomData[ 0 ] , Wire.read ());
4451 assertEqual (1 , Wire.available ());
45- assertEqual (0x0E , Wire.read ());
52+ assertEqual (randomData[ 1 ] , Wire.read ());
4653 assertEqual (0 , Wire.available ());
47- assertEqual (3 , Wire.requestFrom (34 , 3 ));
54+ assertEqual (3 , Wire.requestFrom (anotherRandomSlave , 3 ));
4855 assertEqual (3 , Wire.available ());
49- assertEqual (1 , Wire.read ());
56+ assertEqual (moreRandomData[ 0 ] , Wire.read ());
5057 assertEqual (2 , Wire.available ());
51- assertEqual (4 , Wire.read ());
58+ assertEqual (moreRandomData[ 1 ] , Wire.read ());
5259 assertEqual (1 , Wire.available ());
53- assertEqual (7 , Wire.read ());
60+ assertEqual (moreRandomData[ 2 ] , Wire.read ());
5461 assertEqual (0 , Wire.available ());
5562
5663 // write some values to different random slave
0 commit comments