mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-01 11:34:08 +08:00
Type registration test
This commit is contained in:
parent
98b2597c30
commit
f06346877f
@ -42,6 +42,7 @@ TEST(Dsdl, EmptyServices)
|
||||
ASSERT_EQ(65504, resp.covariance[1]);
|
||||
}
|
||||
|
||||
|
||||
TEST(Dsdl, Signature)
|
||||
{
|
||||
ASSERT_EQ(0xe74617107a34aa9c, root_ns_a::EmptyService::getDataTypeSignature().get());
|
||||
@ -52,3 +53,56 @@ TEST(Dsdl, Signature)
|
||||
ASSERT_EQ("root_ns_a.NestedMessage", root_ns_a::NestedMessage::getDataTypeFullName());
|
||||
ASSERT_EQ(uavcan::DataTypeKindMessage, root_ns_a::NestedMessage::DataTypeKind);
|
||||
}
|
||||
|
||||
|
||||
TEST(Dsdl, Registration)
|
||||
{
|
||||
using uavcan::GlobalDataTypeRegistry;
|
||||
/*
|
||||
* Descriptors
|
||||
*/
|
||||
const uavcan::DataTypeDescriptor* desc = NULL;
|
||||
|
||||
desc = GlobalDataTypeRegistry::instance().find(uavcan::DataTypeKindMessage, "root_ns_a.EmptyMessage");
|
||||
ASSERT_TRUE(desc);
|
||||
ASSERT_EQ(root_ns_a::EmptyMessage::DefaultDataTypeID, desc->getID());
|
||||
ASSERT_EQ(root_ns_a::EmptyMessage::DataTypeKind, desc->getKind());
|
||||
ASSERT_EQ(root_ns_a::EmptyMessage::getDataTypeSignature(), desc->getSignature());
|
||||
ASSERT_STREQ(root_ns_a::EmptyMessage::getDataTypeFullName(), desc->getFullName());
|
||||
|
||||
desc = GlobalDataTypeRegistry::instance().find(uavcan::DataTypeKindService, "root_ns_a.EmptyService");
|
||||
ASSERT_TRUE(desc);
|
||||
ASSERT_EQ(root_ns_a::EmptyService::DefaultDataTypeID, desc->getID());
|
||||
ASSERT_EQ(root_ns_a::EmptyService::DataTypeKind, desc->getKind());
|
||||
ASSERT_EQ(root_ns_a::EmptyService::getDataTypeSignature(), desc->getSignature());
|
||||
ASSERT_STREQ(root_ns_a::EmptyService::getDataTypeFullName(), desc->getFullName());
|
||||
|
||||
desc = GlobalDataTypeRegistry::instance().find(uavcan::DataTypeKindService, "root_ns_a.ReportBackSoldier");
|
||||
ASSERT_TRUE(desc);
|
||||
ASSERT_EQ(root_ns_a::ReportBackSoldier::DefaultDataTypeID, desc->getID());
|
||||
ASSERT_EQ(root_ns_a::ReportBackSoldier::DataTypeKind, desc->getKind());
|
||||
ASSERT_EQ(root_ns_a::ReportBackSoldier::getDataTypeSignature(), desc->getSignature());
|
||||
ASSERT_STREQ(root_ns_a::ReportBackSoldier::getDataTypeFullName(), desc->getFullName());
|
||||
|
||||
/*
|
||||
* Mask
|
||||
*/
|
||||
uavcan::DataTypeIDMask mask;
|
||||
|
||||
GlobalDataTypeRegistry::instance().getDataTypeIDMask(uavcan::DataTypeKindMessage, mask);
|
||||
ASSERT_TRUE(mask[8]);
|
||||
mask[8] = false;
|
||||
ASSERT_FALSE(mask.any());
|
||||
|
||||
GlobalDataTypeRegistry::instance().getDataTypeIDMask(uavcan::DataTypeKindService, mask);
|
||||
ASSERT_TRUE(mask[1]);
|
||||
ASSERT_TRUE(mask[3]);
|
||||
mask[1] = mask[3] = false;
|
||||
ASSERT_FALSE(mask.any());
|
||||
|
||||
/*
|
||||
* Reset
|
||||
*/
|
||||
GlobalDataTypeRegistry::instance().reset();
|
||||
ASSERT_FALSE(GlobalDataTypeRegistry::instance().isFrozen());
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user