5 #include <gtest/gtest.h>
7 #include "../event_tracer.hpp"
8 #include "../../helpers.hpp"
9 #include "../memory_storage_backend.hpp"
11 TEST(dynamic_node_id_server_ClusterManager, Initialization)
15 const unsigned MaxClusterSize =
16 uavcan::protocol::dynamic_node_id::server::Discovery::FieldTypes::known_nodes::MaxSize;
28 Log log(storage, tracer);
40 ASSERT_EQ(
"5", storage.
get(
"cluster_size"));
53 Log log(storage, tracer);
63 storage.
set(
"cluster_size",
"5");
70 TEST(dynamic_node_id_server_ClusterManager, OneServer)
79 Log log(storage, tracer);
90 ASSERT_LE(0, sub.
start());
91 ASSERT_LE(0, pub.
init());
106 uavcan::protocol::dynamic_node_id::server::Discovery msg;
107 msg.configured_cluster_size = 2;
108 msg.known_nodes.push_back(2U);
120 msg = uavcan::protocol::dynamic_node_id::server::Discovery();
121 msg.configured_cluster_size = 1;
128 ASSERT_EQ(1, sub.
collector.
msg->configured_cluster_size);
140 ASSERT_EQ(1, sub.
collector.
msg->configured_cluster_size);
147 TEST(dynamic_node_id_server_ClusterManager, ThreeServers)
156 Log log(storage, tracer);
167 ASSERT_LE(0, sub.
start());
168 ASSERT_LE(0, pub.
init());
185 ASSERT_EQ(3, sub.
collector.
msg->configured_cluster_size);
194 ASSERT_EQ(3, sub.
collector.
msg->configured_cluster_size);
202 uavcan::protocol::dynamic_node_id::server::Discovery msg;
203 msg.configured_cluster_size = 3;
204 msg.known_nodes.push_back(2U);
209 ASSERT_EQ(3, sub.
collector.
msg->configured_cluster_size);
218 msg.known_nodes.push_back(127U);
223 ASSERT_EQ(3, sub.
collector.
msg->configured_cluster_size);