13#include "FppTest/struct/PrimitiveSerializableAc.hpp"
18#include "STest/Pick/Pick.hpp"
20#include "gtest/gtest.h"
36 ASSERT_EQ(s.getmU32(),
testU32);
37 ASSERT_EQ(s.getmI16(),
testI16);
38 ASSERT_EQ(s.getmF64(),
testF64);
67 Primitive::SERIALIZED_SIZE,
75 ASSERT_EQ(s.getmBool(),
false);
76 ASSERT_EQ(s.getmU32(), 0);
77 ASSERT_EQ(s.getmI16(), 0);
78 ASSERT_EQ(s.getmF64(), 0.0);
84 Primitive s1(testBool, testU32, testI16, testF64);
85 assertStructMembers(s1);
89 assertStructMembers(s2);
95 Primitive s2(testBool, testU32, testI16, testF64);
99 assertStructMembers(s1);
101 Primitive& s1Ref = s1;
103 ASSERT_EQ(&s1, &s1Ref);
110 ASSERT_TRUE(s1 == s2);
111 ASSERT_FALSE(s1 != s2);
113 s1.setmBool(testBool);
115 ASSERT_FALSE(s1 == s2);
116 ASSERT_TRUE(s1 != s2);
118 s2.setmBool(testBool);
121 ASSERT_FALSE(s1 == s2);
122 ASSERT_TRUE(s1 != s2);
127 ASSERT_FALSE(s1 == s2);
128 ASSERT_TRUE(s1 != s2);
133 ASSERT_FALSE(s1 == s2);
134 ASSERT_TRUE(s1 != s2);
138 ASSERT_TRUE(s1 == s2);
139 ASSERT_FALSE(s1 != s2);
147 s1.set(testBool, testU32, testI16, testF64);
148 assertStructMembers(s1);
151 s2.setmBool(testBool);
152 ASSERT_EQ(s2.getmBool(), testBool);
155 ASSERT_EQ(s2.getmU32(), testU32);
158 ASSERT_EQ(s2.getmI16(), testI16);
161 ASSERT_EQ(s2.getmF64(), testF64);
166 Primitive s(testBool, testU32, testI16, testF64);
172 U8 data[Primitive::SERIALIZED_SIZE];
188 assertUnsuccessfulSerialization(s,
sizeof(
U8) - 1);
189 assertUnsuccessfulSerialization(s,
sizeof(
U8) +
sizeof(U32) - 1);
190 assertUnsuccessfulSerialization(s,
sizeof(
U8) +
sizeof(U32)
192 assertUnsuccessfulSerialization(s, Primitive::SERIALIZED_SIZE - 1);
197 Primitive s(testBool, testU32, testI16, testF64);
198 std::stringstream buf1, buf2;
203 <<
"mBool = " << testBool <<
", "
204 <<
"mU32 = " << testU32 <<
", "
205 <<
"mI16 = " << testI16 <<
", "
206 <<
"mF64 = " << std::fixed << testF64
210 char buf2Str[FW_SERIALIZABLE_TO_STRING_BUFFER_SIZE];
212 FW_SERIALIZABLE_TO_STRING_BUFFER_SIZE);
214 ASSERT_STREQ(buf1.str().c_str(), buf2Str);
uint8_t U8
8-bit unsigned integer
TEST_F(PrimitiveStructTest, Default)
A variable-length serializable buffer.
SerializeStatus deserialize(U8 &val)
deserialize 8-bit unsigned int
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
NATIVE_UINT_TYPE getBuffLength() const
returns current buffer size
void assertStructMembers(const Primitive &s)
void assertUnsuccessfulSerialization(Primitive &s, U32 bufSize)
char * string_copy(char *destination, const char *source, U32 num)
copy string with null-termination guaranteed
SerializeStatus
forward declaration for string
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.