// ---------------------------------------------------------------------- // Main.cpp // ---------------------------------------------------------------------- #include "gtest/gtest.h" #include "CFDP/Checksum/Checksum.hpp" using namespace CFDP; const U8 data[] = {0, 1, 2, 3, 4, 5, 6, 7, 8}; const U32 expectedValue = (data[0] << 3 * 8) + (data[1] << 2 * 8) + (data[2] << 1 * 8) + data[3] + (data[4] << 3 * 8) + (data[5] << 2 * 8) + (data[6] << 1 * 8) + data[7]; TEST(Checksum, OnePacket) { Checksum checksum; checksum.update(data, 0, 8); ASSERT_EQ(expectedValue, checksum.getValue()); } TEST(Checksum, TwoPacketsAligned) { Checksum checksum; checksum.update(&data[0], 0, 4); checksum.update(&data[4], 4, 4); ASSERT_EQ(expectedValue, checksum.getValue()); } TEST(Checksum, TwoPacketsUnaligned1) { Checksum checksum; checksum.update(&data[0], 0, 3); checksum.update(&data[3], 3, 5); ASSERT_EQ(expectedValue, checksum.getValue()); } TEST(Checksum, TwoPacketsUnaligned2) { Checksum checksum; checksum.update(&data[0], 0, 5); checksum.update(&data[5], 5, 3); ASSERT_EQ(expectedValue, checksum.getValue()); } TEST(Checksum, ThreePackets) { Checksum checksum; checksum.update(&data[0], 0, 2); checksum.update(&data[2], 2, 3); checksum.update(&data[5], 5, 3); ASSERT_EQ(expectedValue, checksum.getValue()); } int main(int argc, char** argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }