@@ -8,18 +8,20 @@ unittest(begin_write_end) {
8
8
deque<uint8_t >* mosi = Wire.getMosi (14 );
9
9
assertEqual (0 , mosi->size ());
10
10
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 };
12
14
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 ] );
16
18
Wire.endTransmission ();
17
19
18
20
// check master write buffer values
19
21
assertEqual (2 , mosi->size ());
20
- assertEqual (0x07 , mosi->front ());
22
+ assertEqual (randomData[ 0 ] , mosi->front ());
21
23
mosi->pop_front ();
22
- assertEqual (0x0E , mosi->front ());
24
+ assertEqual (randomData[ 1 ] , mosi->front ());
23
25
mosi->pop_front ();
24
26
assertEqual (0 , mosi->size ());
25
27
}
@@ -28,29 +30,34 @@ unittest(readTwo_writeOne) {
28
30
Wire.begin ();
29
31
deque<uint8_t >* miso;
30
32
// 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 ]);
38
42
39
43
// 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 ));
42
49
assertEqual (2 , Wire.available ());
43
- assertEqual (0x07 , Wire.read ());
50
+ assertEqual (randomData[ 0 ] , Wire.read ());
44
51
assertEqual (1 , Wire.available ());
45
- assertEqual (0x0E , Wire.read ());
52
+ assertEqual (randomData[ 1 ] , Wire.read ());
46
53
assertEqual (0 , Wire.available ());
47
- assertEqual (3 , Wire.requestFrom (34 , 3 ));
54
+ assertEqual (3 , Wire.requestFrom (anotherRandomSlave , 3 ));
48
55
assertEqual (3 , Wire.available ());
49
- assertEqual (1 , Wire.read ());
56
+ assertEqual (moreRandomData[ 0 ] , Wire.read ());
50
57
assertEqual (2 , Wire.available ());
51
- assertEqual (4 , Wire.read ());
58
+ assertEqual (moreRandomData[ 1 ] , Wire.read ());
52
59
assertEqual (1 , Wire.available ());
53
- assertEqual (7 , Wire.read ());
60
+ assertEqual (moreRandomData[ 2 ] , Wire.read ());
54
61
assertEqual (0 , Wire.available ());
55
62
56
63
// write some values to different random slave
0 commit comments