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);
}
}
}