Files
MeshCore-Solo/test/mocks/Stream.h
T

73 lines
2.0 KiB
C++
Raw Normal View History

2025-10-12 11:11:05 -04:00
#pragma once
2026-07-17 20:55:30 +10:00
#include <stddef.h>
#include <stdint.h>
#include <string.h>
2025-10-12 11:11:05 -04:00
// Mock Stream class for native testing
// Provides minimal interface needed by Utils.h
2026-07-17 20:55:30 +10:00
#define DEC 10
#define HEX 16
#define OCT 8
#define BIN 2
class Print
{
2025-10-12 11:11:05 -04:00
public:
2026-07-17 20:55:30 +10:00
virtual size_t write(uint8_t b) { return 1; }
size_t write(const char *str)
{
if(str == NULL) {
return 0;
}
return write((const uint8_t *) str, strlen(str));
}
virtual size_t write(const uint8_t *buffer, size_t size) {
size_t t = 0;
for (int i = 0; i < size; i++) { t += write(buffer[i]); }
return t;
}
size_t write(const char *buffer, size_t size)
{
return write((const uint8_t *) buffer, size);
}
virtual size_t print(unsigned char b, int r = DEC) { return 0; }
virtual size_t print(int v, int r = DEC) { return 0; }
virtual size_t print(unsigned int v, int r = DEC) { return 0; }
virtual size_t print(long v, int r = DEC) { return 0; }
virtual size_t print(unsigned long v, int r = DEC) { return 0; }
virtual size_t print(long long v, int r = DEC) { return 0; }
virtual size_t print(unsigned long long v, int r = DEC) { return 0; }
virtual size_t print(double v, int p = 2) { return 0; }
size_t print(char c) { return write(c); }
size_t print(const char* str) { return write(str); }
//size_t println(void) { return 0; }
virtual void flush() { /* Empty implementation for backward compatibility */ }
2025-10-12 11:11:05 -04:00
};
2026-07-17 20:55:30 +10:00
class Stream: public Print
{
public:
virtual ~Stream() = default;
2026-07-17 20:55:30 +10:00
virtual int available() { return 0; }
virtual int availableForWrite() { return 0; }
2026-07-17 20:55:30 +10:00
virtual int read() { return -1; }
virtual int peek() { return 0; }
virtual size_t readBytes(char *buffer, size_t length) {
size_t i = 0;
while (i < length && available()) {
buffer[i++] = read();
}
return i;
}
virtual size_t readBytes(uint8_t *buffer, size_t length)
{
return readBytes((char *) buffer, length);
}
};