mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 22:22:16 +03:00
57 lines
1.2 KiB
C++
57 lines
1.2 KiB
C++
// StreamUtils - github.com/bblanchon/ArduinoStreamUtils
|
|
// Copyright Benoit Blanchon 2019-2021
|
|
// MIT License
|
|
|
|
#include "StreamUtils/Streams/EepromStream.hpp"
|
|
|
|
#if STREAMUTILS_ENABLE_EEPROM
|
|
|
|
#include "doctest.h"
|
|
|
|
using namespace StreamUtils;
|
|
|
|
TEST_CASE("EepromStream") {
|
|
SUBCASE("available()") {
|
|
EepromStream s(42, 84);
|
|
CHECK(s.available() == 84);
|
|
}
|
|
|
|
SUBCASE("write(uint8_t)") {
|
|
EepromStream s(0, 2);
|
|
CHECK(s.write('a') == 1);
|
|
CHECK(s.write('b') == 1);
|
|
CHECK(s.write('c') == 0);
|
|
CHECK(s.write('d') == 0);
|
|
s.flush();
|
|
CHECK(s.readString() == "ab");
|
|
}
|
|
|
|
SUBCASE("write(const uint8_t *, size_t)") {
|
|
EepromStream s(0, 5);
|
|
CHECK(s.write("abc", 3) == 3);
|
|
CHECK(s.write("def", 3) == 2);
|
|
CHECK(s.write("ghi", 3) == 0);
|
|
s.flush();
|
|
CHECK(s.readString() == "abcde");
|
|
}
|
|
|
|
SUBCASE("read()") {
|
|
EepromStream s(0, 2);
|
|
s.write("ab", 2);
|
|
CHECK(s.read() == 'a');
|
|
CHECK(s.read() == 'b');
|
|
CHECK(s.read() == -1);
|
|
}
|
|
|
|
SUBCASE("peek()") {
|
|
EepromStream s(0, 2);
|
|
s.write("ab", 2);
|
|
CHECK(s.peek() == 'a');
|
|
CHECK(s.peek() == 'a');
|
|
s.read();
|
|
CHECK(s.peek() == 'b');
|
|
s.read();
|
|
CHECK(s.peek() == -1);
|
|
}
|
|
}
|
|
#endif |