mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-17 18:07:35 +08:00
getNum*() Dispatcher methods for testing
This commit is contained in:
@@ -43,6 +43,8 @@ class Dispatcher : Noncopyable
|
||||
void remove(TransferListenerBase* listener);
|
||||
void cleanup(uint64_t ts_monotonic);
|
||||
void handleFrame(const RxFrame& frame);
|
||||
|
||||
int getNumEntries() const { return list_.length(); }
|
||||
};
|
||||
|
||||
ListenerRegister lmsg_;
|
||||
@@ -85,6 +87,10 @@ public:
|
||||
void unregisterServiceRequestListener(TransferListenerBase* listener);
|
||||
void unregisterServiceResponseListener(TransferListenerBase* listener);
|
||||
|
||||
int getNumMessageListeners() const { return lmsg_.getNumEntries(); }
|
||||
int getNumServiceRequestListeners() const { return lsrv_req_.getNumEntries(); }
|
||||
int getNumServiceResponseListeners() const { return lsrv_resp_.getNumEntries(); }
|
||||
|
||||
IOutgoingTransferRegistry* getOutgoingTransferRegistry() { return outgoing_transfer_reg_; }
|
||||
|
||||
NodeID getSelfNodeID() const { return self_node_id_; }
|
||||
|
||||
@@ -129,6 +129,11 @@ TEST(Dispatcher, Reception)
|
||||
// Multiple service request listeners are not allowed
|
||||
ASSERT_FALSE(dispatcher.registerServiceRequestListener(subscribers[3].get()));
|
||||
|
||||
// Item count validation
|
||||
ASSERT_EQ(3, dispatcher.getNumMessageListeners());
|
||||
ASSERT_EQ(1, dispatcher.getNumServiceRequestListeners());
|
||||
ASSERT_EQ(2, dispatcher.getNumServiceResponseListeners());
|
||||
|
||||
for (int i = 0; i < NUM_SUBSCRIBERS; i++)
|
||||
ASSERT_TRUE(subscribers[i]->isEmpty());
|
||||
|
||||
@@ -181,6 +186,10 @@ TEST(Dispatcher, Reception)
|
||||
dispatcher.unregisterServiceRequestListener(subscribers[3].get());
|
||||
dispatcher.unregisterServiceResponseListener(subscribers[4].get());
|
||||
dispatcher.unregisterServiceResponseListener(subscribers[5].get());
|
||||
|
||||
ASSERT_EQ(0, dispatcher.getNumMessageListeners());
|
||||
ASSERT_EQ(0, dispatcher.getNumServiceRequestListeners());
|
||||
ASSERT_EQ(0, dispatcher.getNumServiceResponseListeners());
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user