mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-22 06:13:33 +08:00
36 lines
725 B
C++
36 lines
725 B
C++
/*
|
|
* Copyright (C) 2014 Pavel Kirienko <pavel.kirienko@gmail.com>
|
|
*/
|
|
|
|
#include <gtest/gtest.h>
|
|
#include <uavcan/internal/transport/crc.hpp>
|
|
|
|
/*
|
|
import crcmod
|
|
crc = crcmod.predefined.Crc('crc-ccitt-false')
|
|
crc.update('123')
|
|
crc.hexdigest()
|
|
'5BCE'
|
|
crc.update('456789')
|
|
crc.hexdigest()
|
|
'29B1'
|
|
*/
|
|
|
|
TEST(TransportCRC, Correctness)
|
|
{
|
|
uavcan::TransportCRC crc;
|
|
|
|
ASSERT_EQ(0xFFFF, crc.get());
|
|
|
|
crc.add('1');
|
|
crc.add('2');
|
|
crc.add('3');
|
|
ASSERT_EQ(0x5BCE, crc.get());
|
|
|
|
crc.add(reinterpret_cast<const uint8_t*>("456789"), 6);
|
|
ASSERT_EQ(0x29B1, crc.get());
|
|
|
|
// Initializing constructor
|
|
ASSERT_EQ(crc.get(), uavcan::TransportCRC(reinterpret_cast<const uint8_t*>("123456789"), 9).get());
|
|
}
|