using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using BWP.B3WeChat.Utils; using BWP.B3WeChat.Entities; namespace Test { [TestClass] public class UnitTest1 { [TestMethod] public void TestTextMessageParser() { var xml = @" 1348831860 1234567890123456 "; var message = InOutMessageUtil.ParseWeChatMessage(xml) as ReceivedTextMsg; Assert.IsNotNull(message); Assert.AreEqual("toUser", message.ToUserName); Assert.AreEqual("fromUser", message.FromUserName); Assert.AreEqual("1348831860", message.CreateTime); Assert.AreEqual("text", message.MsgType); Assert.AreEqual("1234567890123456", message.MsgId); } [TestMethod] public void TestSubscribeEventParser() { var xml = @" 123456789 "; var message = InOutMessageUtil.ParseWeChatMessage(xml) as ReceivedEventMsg; Assert.IsNotNull(message); Assert.AreEqual("toUser", message.ToUserName); Assert.AreEqual("fromUser", message.FromUserName); Assert.AreEqual("123456789", message.CreateTime); Assert.AreEqual("event", message.MsgType); Assert.AreEqual("subscribe", message.Event); int sceneid; Assert.AreEqual(false, message.TryGetSceneID(out sceneid)); } [TestMethod] public void TestSubscribeWithSceneEventParser() { var xml = @" 123456789 "; var message = InOutMessageUtil.ParseWeChatMessage(xml) as ReceivedEventMsg; Assert.IsNotNull(message); Assert.AreEqual("toUser", message.ToUserName); Assert.AreEqual("fromUser", message.FromUserName); Assert.AreEqual("123456789", message.CreateTime); Assert.AreEqual("event", message.MsgType); Assert.AreEqual("subscribe", message.Event); int sceneid; Assert.AreEqual(true, message.TryGetSceneID(out sceneid)); Assert.AreEqual(123123, sceneid); } [TestMethod] public void TestScanEventParser() { var xml = @" 123456789 "; var message = InOutMessageUtil.ParseWeChatMessage(xml) as ReceivedEventMsg; Assert.IsNotNull(message); Assert.AreEqual("toUser", message.ToUserName); Assert.AreEqual("fromUser", message.FromUserName); Assert.AreEqual("123456789", message.CreateTime); Assert.AreEqual("event", message.MsgType); Assert.AreEqual("SCAN", message.Event); int sceneid; Assert.AreEqual(true, message.TryGetSceneID(out sceneid)); Assert.AreEqual(123123, sceneid); Assert.AreEqual("TICKET", message.Ticket); } } }