From 0fac64588c5c87c5ac85a3cb50c5856549114830 Mon Sep 17 00:00:00 2001 From: nerdyscout Date: Sun, 22 Jan 2023 13:46:29 +0100 Subject: [PATCH] fix according to https://github.com/FabioBatSilva/ArduinoFake/issues/13#issuecomment-1399343012 --- src/arduino/SPI.h | 12 +++++++++++- test/test_spi.h | 6 +++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/arduino/SPI.h b/src/arduino/SPI.h index 2b83340..9db4e5b 100644 --- a/src/arduino/SPI.h +++ b/src/arduino/SPI.h @@ -70,10 +70,20 @@ #endif class SPISettings { + private: + uint32_t clock; + uint8_t bitOrder; + uint8_t dataMode; + public: - SPISettings(uint32_t clock, uint8_t bitOrder, uint8_t dataMode) {} + SPISettings(uint32_t clock, uint8_t bitOrder, uint8_t dataMode): clock(clock), bitOrder(bitOrder), dataMode(dataMode) {} SPISettings() { SPISettings(4000000, MSBFIRST, SPI_MODE0); } friend class SPIClass; + + bool operator==(const SPISettings &other) const { + return (clock == other.clock) && (bitOrder == other.bitOrder) && + (dataMode == other.dataMode); + } }; class SPIClass { diff --git a/test/test_spi.h b/test/test_spi.h index d7277fe..1b57c48 100644 --- a/test/test_spi.h +++ b/test/test_spi.h @@ -11,13 +11,13 @@ void test_basics(void) { When(OverloadedMethod(ArduinoFake(SPI), begin, void(void))).AlwaysReturn(); When(OverloadedMethod(ArduinoFake(SPI), end, void(void))).AlwaysReturn(); -// When(OverloadedMethod(ArduinoFake(SPI), beginTransaction, void(SPISettings)).Using(settings)).AlwaysReturn(); + When(OverloadedMethod(ArduinoFake(SPI), beginTransaction, void(SPISettings)).Using(settings)).AlwaysReturn(); When(OverloadedMethod(ArduinoFake(SPI), endTransaction, void(void))).AlwaysReturn(); When(OverloadedMethod(ArduinoFake(SPI), transfer, uint8_t(uint8_t)).Using(buffer1)).AlwaysReturn(); // When(OverloadedMethod(ArduinoFake(SPI), transfer, void(void*, size_t)).Using(buffer2,sizeof(buffer2))).AlwaysReturn(); SPI.begin(); -// SPI.beginTransaction(settings); + SPI.beginTransaction(settings); SPI.transfer(0x01); // SPI.transfer(buffer2, sizeof(buffer2)); SPI.endTransaction(); @@ -25,7 +25,7 @@ void test_basics(void) { Verify(OverloadedMethod(ArduinoFake(SPI), begin, void(void))).Once(); Verify(OverloadedMethod(ArduinoFake(SPI), end, void(void))).Once(); -// Verify(OverloadedMethod(ArduinoFake(SPI), beginTransaction, void(SPISettings))).Once(); + Verify(OverloadedMethod(ArduinoFake(SPI), beginTransaction, void(SPISettings))).Once(); Verify(OverloadedMethod(ArduinoFake(SPI), endTransaction, void(void))).Once(); Verify(OverloadedMethod(ArduinoFake(SPI), transfer, uint8_t(uint8_t))).Once(); // Verify(OverloadedMethod(ArduinoFake(SPI), transfer, void(void*, size_t))).Once();