The current implementation of MockSpi.transfer() doesn't read or write to the data buffer. That makes it impossible for the tester to provide mock data.
For reference, the current implementation:
@Override
public int transfer(byte[] write, int writeOffset, byte[] read, int readOffset, int numberOfBytes) {
int readIndex = readOffset;
// simply just echo out the write data back to the read buffer <<<<<<<<<<-- that's the problem -MNG
for(int n = writeOffset; n < numberOfBytes - writeOffset; n++){
read[readIndex] = write[n];
readIndex++;
}
// return number of byte returned
return readIndex - readOffset;
}
https://github.com/Pi4J/pi4j-v2/blob/8d8f1574f926dfd2961356cf015dcbd58e50664e/plugins/pi4j-plugin-mock/src/main/java/com/pi4j/plugin/mock/provider/spi/MockSpi.java#L84
The current implementation of MockSpi.transfer() doesn't read or write to the data buffer. That makes it impossible for the tester to provide mock data. For reference, the current implementation: