From ef7da7477d9e7ddcc808f6c0c92bd10a4c8e1616 Mon Sep 17 00:00:00 2001 From: Zachary Gonzalez Date: Sun, 1 Aug 2021 22:25:32 -0500 Subject: [PATCH] Applying requested changes --- Fw/Buffer/Buffer.cpp | 8 ++++++-- Fw/Buffer/test/ut/TestBuffer.cpp | 7 ++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Fw/Buffer/Buffer.cpp b/Fw/Buffer/Buffer.cpp index 16bc957d93..f7c09f8036 100644 --- a/Fw/Buffer/Buffer.cpp +++ b/Fw/Buffer/Buffer.cpp @@ -35,11 +35,15 @@ Buffer::Buffer(const Buffer& src) : Serializable(), {} Buffer::Buffer(U8* data, U32 size, U32 context) : Serializable(), - m_serialize_repr(data, size), + m_serialize_repr(), m_bufferData(data), m_size(size), m_context(context) -{} +{ + if(m_bufferData != NULL){ + this->m_serialize_repr.setExtBuffer(m_bufferData, m_size); + } +} Buffer& Buffer::operator=(const Buffer& src) { // Ward against self-assignment diff --git a/Fw/Buffer/test/ut/TestBuffer.cpp b/Fw/Buffer/test/ut/TestBuffer.cpp index 2b6fab0c32..22292d794f 100644 --- a/Fw/Buffer/test/ut/TestBuffer.cpp +++ b/Fw/Buffer/test/ut/TestBuffer.cpp @@ -31,6 +31,11 @@ void test_basic() { ASSERT_EQ(buffer_new.getContext(), 1234); ASSERT_EQ(buffer, buffer_new); + // Creating empty buffer + Fw::Buffer testBuffer(nullptr,0); + ASSERT_EQ(testBuffer.getData(), nullptr); + ASSERT_EQ(testBuffer.getSize(), 0); + // Assignment operator with transitivity Fw::Buffer buffer_assignment1, buffer_assignment2; ASSERT_NE(buffer_assignment1.getData(), data); @@ -133,4 +138,4 @@ TEST(Nominal, Serialization) { int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); -} \ No newline at end of file +}