crc.cpp 595 B

1234567891011121314151617181920212223242526272829303132
  1. /*
  2. * Copyright (C) 2014 Pavel Kirienko <pavel.kirienko@gmail.com>
  3. */
  4. #include <gtest/gtest.h>
  5. #include <uavcan/transport/crc.hpp>
  6. /*
  7. import crcmod
  8. crc = crcmod.predefined.Crc('crc-ccitt-false')
  9. crc.update('123')
  10. crc.hexdigest()
  11. '5BCE'
  12. crc.update('456789')
  13. crc.hexdigest()
  14. '29B1'
  15. */
  16. TEST(TransferCRC, Correctness)
  17. {
  18. uavcan::TransferCRC crc;
  19. ASSERT_EQ(0xFFFF, crc.get());
  20. crc.add('1');
  21. crc.add('2');
  22. crc.add('3');
  23. ASSERT_EQ(0x5BCE, crc.get());
  24. crc.add(reinterpret_cast<const uint8_t*>("456789"), 6);
  25. ASSERT_EQ(0x29B1, crc.get());
  26. }