示例#1
0
        public void TopicTest()
        {
            Dictionary <Guid, string> topics = new Dictionary <Guid, string>();
            Guid   expectedId1    = Guid.NewGuid();
            string expectedTopic1 = "123";
            string expectedTopic2 = "xyy";
            Guid   expectedId2    = Guid.NewGuid();

            topics.Add(expectedId1, expectedTopic1);
            topics.Add(expectedId2, expectedTopic2);

            Guid encodedRequestId = Guid.NewGuid();

            byte[] encoded = MessageEncoding.EncodeTopics(encodedRequestId, topics);

            Dictionary <Guid, string> decodedTopics = null;
            Guid decodedRequestId = Guid.NewGuid();

            MessageEncoding.DecodeTopics(encoded, ref decodedRequestId, ref decodedTopics);

            Assert.AreEqual(encodedRequestId, decodedRequestId);

            Assert.AreEqual(topics.Count, decodedTopics.Count);

            Assert.IsTrue(decodedTopics.ContainsKey(expectedId1));
            Assert.AreEqual(topics[expectedId1], decodedTopics[expectedId1]);

            Assert.IsTrue(decodedTopics.ContainsKey(expectedId2));
            Assert.AreEqual(topics[expectedId2], decodedTopics[expectedId2]);
        }