Ejemplo n.º 1
0
        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>());
 }