public MessageProcessorAndRegistry_Tests()
        {
            var port = 27272;

            Server = new NetServer(new NetPeerConfiguration("ProperEngine.Tests")
            {
                Port = port
            });
            Client = new NetClient(new NetPeerConfiguration("ProperEngine.Tests"));

            Registry = new MessageRegistry();
            Registry.Register <TestMessage>(0, Side.Both);
            Registry.Register <TestMessageToClient>(1, Side.Client);
            Registry.Register <TestMessageToServer>(2, Side.Server);

            Server.Start();
            Client.Start();
            Client.Connect("127.0.0.1", port);

            // Wait until server and client are fully connected to each other.
            while (Client.ConnectionStatus != NetConnectionStatus.Connected)
            {
                Server.WaitMessage(100);
                Client.WaitMessage(100);
            }
        }
Ejemplo n.º 2
0
    public void Register_SimpleType_ShouldRegisterAsAMessage()
    {
        // Arrange
        MessageRegistry messageRegistry = new MessageRegistry();

        // Act
        messageRegistry.Register(typeof(FakeCommand));
        messageRegistry.Register(typeof(FakeCommand));
        messageRegistry.Register(typeof(int));

        // Assert
        messageRegistry.Should().HaveCount(1);
        messageRegistry.Single().MessageType.Should().Be(typeof(FakeCommand));
    }
Ejemplo n.º 3
0
        public static void Test3()
        {
            Console.WriteLine("Test3====================");
            var messageFactory = new MessageRegistry();

            messageFactory.Register(Assembly.GetExecutingAssembly().FullName);
            Console.WriteLine(messageFactory.Create(544233));
        }
Ejemplo n.º 4
0
        public void RegisterAndGet_OneMessage_ReturnsMessageNameAndDeserialize()
        {
            const string rosMessageName = "testmessage";
            Func <MessageDeserializer, TestMessage> deserializer = des => new TestMessage();

            MessageRegistry.Register(rosMessageName, deserializer);

            Assert.AreEqual(rosMessageName, MessageRegistry.GetRosMessageName <TestMessage>());
            Assert.AreEqual(deserializer, MessageRegistry.GetDeserializeFunction <TestMessage>());
            Assert.AreEqual(deserializer, MessageRegistry.GetDeserializeFunction(rosMessageName));
        }
Ejemplo n.º 5
0
    public void Register_ShouldNotRegister(Type type)
    {
        // Arrange
        MessageRegistry messageRegistry = new MessageRegistry();

        // Act
        messageRegistry.Register(type);

        // Assert
        messageRegistry.Should().BeEmpty();
    }
Ejemplo n.º 6
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));
        }
Ejemplo n.º 7
0
 public static void Register()
 {
     MessageRegistry.Register(k_RosMessageName, Deserialize);
 }
Ejemplo n.º 8
0
 public static void Register()
 {
     MessageRegistry.Register(k_RosMessageName, Deserialize, MessageSubtopic.Response);
 }
 public static void Register()
 {
     MessageRegistry.Register(k_RosMessageName, Deserialize, MessageSubtopic.Feedback);
 }