separated Print and Stream mock classes from dummy implementations
parent
cd8049bdba
commit
767e6021d8
|
@ -23,6 +23,7 @@ size_t Buffer::write(uint8_t byte)
|
|||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
size_t Buffer::write(const uint8_t * buff, size_t len)
|
||||
{
|
||||
size_t avail = availableToWrite();
|
||||
|
@ -35,6 +36,7 @@ size_t Buffer::write(const uint8_t * buff, size_t len)
|
|||
|
||||
return toWrite;
|
||||
}
|
||||
*/
|
||||
|
||||
int Buffer::read()
|
||||
{
|
||||
|
|
15
src/Buffer.h
15
src/Buffer.h
|
@ -1,7 +1,7 @@
|
|||
#pragma once
|
||||
|
||||
#ifdef _TEST_
|
||||
#include "dummy/DummyStream.h"
|
||||
#include "Stream.h"
|
||||
#else
|
||||
#include "Arduino.h"
|
||||
#endif
|
||||
|
@ -10,20 +10,13 @@ class Buffer: public Stream
|
|||
{
|
||||
public:
|
||||
Buffer(uint8_t*, size_t);
|
||||
virtual size_t write(uint8_t);
|
||||
size_t availableToWrite();
|
||||
int available();
|
||||
size_t write(uint8_t);
|
||||
size_t write(const uint8_t *, size_t);
|
||||
size_t write(const char * buffer) {
|
||||
return write((const uint8_t *)buffer, strlen(buffer));
|
||||
}
|
||||
size_t write(const char * buffer, size_t size) {
|
||||
return write((const uint8_t *)buffer, size);
|
||||
}
|
||||
int read();
|
||||
int peek();
|
||||
|
||||
int read();
|
||||
virtual void flush();
|
||||
using Print::write;
|
||||
|
||||
private:
|
||||
uint8_t * start;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#endif
|
||||
|
||||
#ifdef _TEST_
|
||||
#include "dummy/DummyStream.h"
|
||||
#include "Stream.h"
|
||||
#else
|
||||
#include "Arduino.h"
|
||||
#endif
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#include "HttpHeaders.h"
|
||||
|
||||
#ifdef _TEST_
|
||||
#include "dummy/DummyStream.h"
|
||||
#include "Stream.h"
|
||||
#else
|
||||
#include "Arduino.h"
|
||||
#endif
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
#pragma once
|
||||
#include "Print.h"
|
||||
|
||||
class DummyPrint: public Print
|
||||
{
|
||||
public:
|
||||
DummyPrint(char * buff): buffer(buff), pos(0) {};
|
||||
size_t write(uint8_t c) { buffer[pos++]=(char) c; buffer[pos]='\0';return 1; }
|
||||
int pos;
|
||||
char * buffer;
|
||||
};
|
||||
|
|
@ -1,14 +1,5 @@
|
|||
#pragma once
|
||||
#include "dummy/DummyPrint.h"
|
||||
|
||||
class Stream: public Print
|
||||
{
|
||||
public:
|
||||
virtual int available() = 0;
|
||||
virtual int read() = 0;
|
||||
virtual int peek() = 0;
|
||||
virtual size_t write(uint8_t) = 0;
|
||||
};
|
||||
#include "Stream.h"
|
||||
|
||||
class DummyStream: public Stream
|
||||
{
|
|
@ -1,4 +1,4 @@
|
|||
#include "dummy/DummyPrint.h"
|
||||
#include "Print.h"
|
||||
|
||||
size_t Print::write(const uint8_t *buffer, size_t size)
|
||||
{
|
||||
|
|
|
@ -8,9 +8,9 @@ class Print
|
|||
public:
|
||||
Print() {}
|
||||
virtual size_t write(uint8_t) = 0;
|
||||
size_t write(const char * str) {
|
||||
if (str == nullptr) return 0;
|
||||
return write((const uint8_t *) str, strlen(str));
|
||||
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 write(const char *buffer, size_t size) {
|
||||
|
@ -20,13 +20,3 @@ class Print
|
|||
|
||||
virtual void flush() {}
|
||||
};
|
||||
|
||||
class DummyPrint: public Print
|
||||
{
|
||||
public:
|
||||
DummyPrint(char * buff): buffer(buff), pos(0) {};
|
||||
virtual size_t write(uint8_t c) { buffer[pos++]=(char) c; buffer[pos]='\0';return 1; }
|
||||
int pos;
|
||||
char * buffer;
|
||||
};
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
#pragma once
|
||||
#include "Print.h"
|
||||
|
||||
class Stream: public Print
|
||||
{
|
||||
public:
|
||||
virtual int available() = 0;
|
||||
virtual int read() = 0;
|
||||
virtual int peek() = 0;
|
||||
};
|
||||
|
|
@ -107,3 +107,17 @@ TEST_CASE("Write string without length","[Buffer][write][string]")
|
|||
|
||||
REQUIRE(buffer.write("Foo!") == 4);
|
||||
}
|
||||
|
||||
TEST_CASE("Buffer is a Stream","[Buffer][Stream]")
|
||||
{
|
||||
uint8_t ptr[5];
|
||||
Stream * buffer;
|
||||
buffer = new Buffer(ptr, 5);
|
||||
|
||||
buffer->write('F');
|
||||
REQUIRE(ptr[0] == 'F');
|
||||
REQUIRE(buffer->read() == 'F');
|
||||
|
||||
buffer->write("Foo");
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#include "catch.hpp"
|
||||
#include "dummy/DummyStream.h"
|
||||
#include "DummyStream.h"
|
||||
#include <iostream>
|
||||
|
||||
TEST_CASE("DummyStream is availble","[DummyStream]")
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "catch.hpp"
|
||||
#include "HttpRequest.h"
|
||||
#include <iostream>
|
||||
#include "DummyStream.h"
|
||||
|
||||
using Catch::Matchers::Equals;
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include "HttpRequest.h"
|
||||
#include "HttpResponse.h"
|
||||
#include "Buffer.h"
|
||||
#include "DummyStream.h"
|
||||
|
||||
void index(HttpRequest& request, HttpResponse& response)
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "RequestRouter.h"
|
||||
#include "catch.hpp"
|
||||
#include "dummy/DummyStream.h"
|
||||
#include "DummyStream.h"
|
||||
#include "NotFoundException.h"
|
||||
#include "MethodNotAllowedException.h"
|
||||
#include <iostream>
|
||||
|
|
Loading…
Reference in New Issue