public void RegisterAndGet_Subtopics_ReturnCorrectDeserializers() { const string rosMessageName = "testmessage"; Func <MessageDeserializer, TestMessage> deserializer = des => new TestMessage(); Func <MessageDeserializer, TestResponse> deserializer2 = des => new TestResponse(); MessageRegistry.Register(rosMessageName, deserializer, MessageSubtopic.Default); MessageRegistry.Register(rosMessageName, deserializer2, MessageSubtopic.Response); Assert.AreEqual(rosMessageName, MessageRegistry.GetRosMessageName <TestMessage>()); Assert.AreEqual(rosMessageName, MessageRegistry.GetRosMessageName <TestResponse>()); Assert.AreEqual(MessageSubtopic.Default, MessageRegistry.GetSubtopic <TestMessage>()); Assert.AreEqual(MessageSubtopic.Response, MessageRegistry.GetSubtopic <TestResponse>()); Assert.AreEqual(deserializer, MessageRegistry.GetDeserializeFunction <TestMessage>()); Assert.AreEqual(deserializer, MessageRegistry.GetDeserializeFunction(rosMessageName, MessageSubtopic.Default)); Assert.AreEqual(deserializer2, MessageRegistry.GetDeserializeFunction <TestResponse>()); Assert.AreEqual(deserializer2, MessageRegistry.GetDeserializeFunction(rosMessageName, MessageSubtopic.Response)); Assert.IsNull(MessageRegistry.GetDeserializeFunction(rosMessageName, MessageSubtopic.Goal)); }
public static void RegisterTypeVisualizer <MsgType>(IVisualFactory visualFactory, int priority = 0) where MsgType : Message { RegisterTypeVisualizer(MessageRegistry.GetRosMessageName <MsgType>(), visualFactory, priority, MessageRegistry.GetSubtopic <MsgType>()); }