/** By default RouteConfig to route to anyone local connection configured to receive the data */ TEST_F(LocalTransportTest, Transmit) { ////////////////////////// // setup TestMessage myMsg; myMsg.data = 0x1234; Link myLink; MessageHandlerCollection handlers; handlers.Add(TEST_PROTOCOL::CRC, &TEST_PROTOCOL::CreateMessage, this, &MsgReceive); LocalTransport transport(handlers); ////////////////////////// // Method to test transport.Transmit(myLink, &myMsg); ////////////////////////// // test results // MsgReceived should have been called 1 time ASSERT_EQ(1, received.size()); // same message ASSERT_EQ(myMsg.GetCode(), received[0]->GetCode()); // duplicate copy ASSERT_NE(&myMsg, received[0]); // Pooled message, check we only have 1 ref ASSERT_EQ(2, received[0]->AddRef()); ASSERT_EQ(1, received[0]->Release()); ASSERT_EQ(0, received[0]->Release()); }