mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 22:22:16 +03:00
delete
This commit is contained in:
@@ -1,137 +0,0 @@
|
||||
// StreamUtils - github.com/bblanchon/ArduinoStreamUtils
|
||||
// Copyright Benoit Blanchon 2019-2021
|
||||
// MIT License
|
||||
|
||||
#include "FailingAllocator.hpp"
|
||||
|
||||
#include "StreamUtils/Prints/BufferingPrint.hpp"
|
||||
#include "StreamUtils/Prints/SpyingPrint.hpp"
|
||||
#include "StreamUtils/Prints/StringPrint.hpp"
|
||||
|
||||
#include "doctest.h"
|
||||
|
||||
using namespace StreamUtils;
|
||||
|
||||
TEST_CASE("BufferingPrint") {
|
||||
StringPrint target;
|
||||
|
||||
StringPrint log;
|
||||
SpyingPrint spy{target, log};
|
||||
|
||||
GIVEN("capacity is 4") {
|
||||
BufferingPrint bufferingPrint{spy, 4};
|
||||
|
||||
SUBCASE("flush() calls write()") {
|
||||
bufferingPrint.write("ABC", 3);
|
||||
bufferingPrint.flush();
|
||||
|
||||
#if STREAMUTILS_PRINT_FLUSH_EXISTS
|
||||
CHECK(log.str() ==
|
||||
"write('ABC', 3) -> 3"
|
||||
"flush()");
|
||||
#else
|
||||
CHECK(log.str() == "write('ABC', 3) -> 3");
|
||||
#endif
|
||||
}
|
||||
|
||||
GIVEN("the buffer is empty") {
|
||||
SUBCASE("write(uint8_t)") {
|
||||
int n = bufferingPrint.write('A');
|
||||
|
||||
CHECK(n == 1);
|
||||
CHECK(log.str() == "");
|
||||
}
|
||||
|
||||
SUBCASE("write(uint8_t) should flush") {
|
||||
bufferingPrint.write('A');
|
||||
bufferingPrint.write('B');
|
||||
bufferingPrint.write('C');
|
||||
bufferingPrint.write('D');
|
||||
bufferingPrint.write('E');
|
||||
|
||||
CHECK(log.str() == "write('ABCD', 4) -> 4");
|
||||
}
|
||||
|
||||
SUBCASE("write(char*,3) goes in buffer") {
|
||||
size_t n = bufferingPrint.write("ABC", 3);
|
||||
|
||||
CHECK(n == 3);
|
||||
CHECK(log.str() == "");
|
||||
}
|
||||
|
||||
SUBCASE("write(char*,4) bypasses buffer") {
|
||||
size_t n = bufferingPrint.write("ABCD", 4);
|
||||
|
||||
CHECK(n == 4);
|
||||
CHECK(log.str() == "write('ABCD', 4) -> 4");
|
||||
}
|
||||
SUBCASE("write(char*,2) bypasses buffer") {
|
||||
size_t n = bufferingPrint.write("ABCD", 4);
|
||||
|
||||
CHECK(n == 4);
|
||||
CHECK(log.str() == "write('ABCD', 4) -> 4");
|
||||
}
|
||||
}
|
||||
|
||||
GIVEN("one byte in the buffer") {
|
||||
bufferingPrint.write('A');
|
||||
|
||||
SUBCASE("write(char*,3) goes in buffer and flush") {
|
||||
size_t n = bufferingPrint.write("BCD", 3);
|
||||
|
||||
CHECK(n == 3);
|
||||
CHECK(log.str() == "write('ABCD', 4) -> 4");
|
||||
}
|
||||
|
||||
SUBCASE("write(char*,7) bypasses") {
|
||||
size_t n = bufferingPrint.write("BCDEFGH", 7);
|
||||
|
||||
CHECK(n == 7);
|
||||
CHECK(log.str() ==
|
||||
"write('ABCD', 4) -> 4"
|
||||
"write('EFGH', 4) -> 4");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GIVEN("capacity is 0") {
|
||||
BufferingPrint bufferingPrint{spy, 0};
|
||||
|
||||
// SUBCASE("capacity()") {
|
||||
// CHECK(bufferingPrint.capacity() == 0);
|
||||
// }
|
||||
|
||||
SUBCASE("write(uint8_t) forwards to target") {
|
||||
int n = bufferingPrint.write('X');
|
||||
|
||||
CHECK(n == 1);
|
||||
CHECK(log.str() == "write('X') -> 1");
|
||||
}
|
||||
|
||||
SUBCASE("write(char*,1) forwards to target") {
|
||||
int n = bufferingPrint.write("A", 1);
|
||||
|
||||
CHECK(n == 1);
|
||||
CHECK(log.str() == "write('A', 1) -> 1");
|
||||
}
|
||||
|
||||
SUBCASE("flush()") {
|
||||
bufferingPrint.flush();
|
||||
|
||||
#if STREAMUTILS_PRINT_FLUSH_EXISTS
|
||||
CHECK(log.str() == "flush()");
|
||||
#else
|
||||
CHECK(log.str() == "");
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
SUBCASE("Destructor should flush") {
|
||||
{
|
||||
BufferingPrint bufferingPrint{spy, 10};
|
||||
bufferingPrint.write("ABC", 3);
|
||||
}
|
||||
|
||||
CHECK(log.str() == "write('ABC', 3) -> 3");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user