3#include <gtest/gtest.h>
22 return absl::OkStatus();
36 return message.
type ==
"TestMessage";
43 return std::any_cast<int>(message.
payload) > 10;
51 protocol_ = std::make_unique<TestProtocol>();
52 filter_ = std::make_unique<TestFilter>();
73 Message message(
"TestMessage",
nullptr, 42);
76 EXPECT_EQ(listener1_.message_count(), 1);
77 EXPECT_EQ(std::any_cast<int>(listener1_.last_message().payload), 42);
86 Message message(
"TestMessage",
nullptr, 42);
89 EXPECT_EQ(listener1_.message_count(), 0);
98 Message message(
"TestMessage",
nullptr, 42);
101 EXPECT_EQ(listener1_.message_count(), 1);
102 EXPECT_EQ(listener2_.message_count(), 1);
103 EXPECT_EQ(std::any_cast<int>(listener1_.last_message().payload), 42);
104 EXPECT_EQ(std::any_cast<int>(listener2_.last_message().payload), 42);
113 Message valid_message(
"TestMessage",
nullptr, 15);
115 EXPECT_EQ(listener1_.message_count(), 1);
117 Message invalid_message(
"TestMessage",
nullptr, 5);
119 EXPECT_EQ(listener1_.message_count(), 1);
void UnregisterListener(const std::string &message_type, IMessageListener *listener)
void RegisterListener(const std::string &message_type, IMessageListener *listener)
void SendMessage(const Message &message)
void DispatchMessage(const Message &message)
void RegisterFilteredListener(const std::string &message_type, IMessageListener *listener, std::unique_ptr< MessageFilter > filter)
std::unique_ptr< TestProtocol > protocol_
std::unique_ptr< TestFilter > filter_
bool ShouldReceiveMessage(const Message &message) const override
int message_count() const
const Message & last_message() const
absl::Status OnMessageReceived(const Message &message) override
bool CanHandleMessage(const Message &message) const override
TEST_F(MessageDispatcherTest, RegisterAndSendMessage)