Bugfix: sending empty session

This commit is contained in:
Martin Bauer
2019-09-17 20:23:34 +02:00
parent 2418fde01e
commit d0ba98f12e
5 changed files with 32 additions and 11 deletions

View File

@@ -4,6 +4,7 @@
#include "MockStorage.h"
#include <unity.h>
#include <vector>
#include <iostream>
template<typename Measurement_T>
std::vector<Measurement_T> parseMessagePack(const uint8_t * data, uint32_t &startTime, uint32_t &startIndex)
@@ -188,9 +189,28 @@ void testPartialSessionSerialization() {
}
}
void testPartialSessionSerializationEmptyArray() {
const uint32_t SESSION_SIZE = 1024*8 - 16 * sizeof(uint32_t);
typedef MeasurementSession<uint16_t, MockStorageReader, MockStorageWriter, SESSION_SIZE> MockSession;
const uint32_t startTime = 194842;
const uint_t fillSize = 4937 + 81;
std::vector<uint8_t> data;
VectorAdaptor adaptor( &data );
MockSession session;
session.init(startTime);
ChunkedStreamingMsgPackEncoder<VectorAdaptor> encoder(&adaptor, 0, 6);
session.serialize(encoder, 0);
auto written = encoder.sentBytes();
TEST_ASSERT(written == 6);
}
void allTests()
{
UNITY_BEGIN();
RUN_TEST(testPartialSessionSerializationEmptyArray);
RUN_TEST(testPartialSessionSerialization);
RUN_TEST(testSessionChunkAdd);
RUN_TEST(testSessionChunkGetterSetter);