libuav original

Dependents:   UAVCAN UAVCAN_Subscriber

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers type_util.cpp Source File

type_util.cpp

00001 /*
00002  * Copyright (C) 2014 Pavel Kirienko <pavel.kirienko@gmail.com>
00003  */
00004 
00005 #include <gtest/gtest.h>
00006 #include <uavcan/marshal/types.hpp>
00007 
00008 
00009 TEST(MarshalTypeUtil, IntegerBitLen)
00010 {
00011     using uavcan::IntegerBitLen;
00012 
00013     ASSERT_EQ(0, IntegerBitLen<0>::Result);
00014     ASSERT_EQ(1, IntegerBitLen<1>::Result);
00015     ASSERT_EQ(6, IntegerBitLen<42>::Result);
00016     ASSERT_EQ(8, IntegerBitLen<232>::Result);
00017     ASSERT_EQ(32, IntegerBitLen<0x81234567>::Result);
00018 }
00019 
00020 
00021 TEST(MarshalTypeUtil, BitLenToByteLen)
00022 {
00023     using uavcan::BitLenToByteLen;
00024 
00025     ASSERT_EQ(2, BitLenToByteLen<16>::Result);
00026     ASSERT_EQ(1, BitLenToByteLen<8>::Result);
00027     ASSERT_EQ(1, BitLenToByteLen<7>::Result);
00028     ASSERT_EQ(1, BitLenToByteLen<1>::Result);
00029     ASSERT_EQ(2, BitLenToByteLen<9>::Result);
00030 }