using DotNetty.Transport.Channels.Embedded; using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Threading; namespace JT808.DotNetty.Core.Test { [TestClass] public class JT808SessionManagerTest: SeedTcpSession { [TestMethod] public void Test1() { var no = "test150"; var channel = new EmbeddedChannel(new JT808DefaultChannelId()); jT80TcpSessionManager.TryAdd(new Metadata.JT808TcpSession(channel, no)); Thread.Sleep(1000); jT80TcpSessionManager.Heartbeat(no); } [TestMethod] public void Test2() { var no = "test151"; var channel = new EmbeddedChannel(new JT808DefaultChannelId()); jT80TcpSessionManager.TryAdd(new Metadata.JT808TcpSession(channel, no)); var sessionInfo = jT80TcpSessionManager.RemoveSession(no); Assert.AreEqual(no, sessionInfo.TerminalPhoneNo); } [TestMethod] public void Test3() { var realSessionInfos = jT80TcpSessionManager.GetAll(); } [TestMethod] public void Test4() { var realSessionCount = jT80TcpSessionManager.SessionCount; } [TestMethod] public void Test5() { //转发过来的数据 1:n 一个通道对应多个设备 var no = "test1"; var no1 = "test2"; var no2 = "test3"; var no3 = "test4"; var no4 = "test5"; var channel = new EmbeddedChannel(new JT808DefaultChannelId()); jT80TcpSessionManager.TryAdd(new Metadata.JT808TcpSession(channel, no)); jT80TcpSessionManager.TryAdd(new Metadata.JT808TcpSession(channel, no1)); jT80TcpSessionManager.TryAdd(new Metadata.JT808TcpSession(channel, no2)); jT80TcpSessionManager.TryAdd(new Metadata.JT808TcpSession(channel, no3)); jT80TcpSessionManager.TryAdd(new Metadata.JT808TcpSession(channel, no4)); var removeSession = jT80TcpSessionManager.RemoveSession(no); Assert.AreEqual(no, removeSession.TerminalPhoneNo); Assert.AreEqual(channel, removeSession.Channel); Assert.AreEqual(channel.Id, removeSession.Channel.Id); } [TestMethod] public void Test6() { //转发过来的数据 1:n 一个通道对应多个设备 var no = "test61"; var no1 = "test62"; var no2 = "test63"; var no3 = "test64"; var no4 = "test65"; var channel1 = new EmbeddedChannel(new JT808DefaultChannelId()); var channel2 = new EmbeddedChannel(new JT808DefaultChannelId()); jT80TcpSessionManager.TryAdd(new Metadata.JT808TcpSession(channel1, no)); jT80TcpSessionManager.TryAdd(new Metadata.JT808TcpSession(channel1, no1)); jT80TcpSessionManager.TryAdd(new Metadata.JT808TcpSession(channel1, no2)); jT80TcpSessionManager.TryAdd(new Metadata.JT808TcpSession(channel2, no3)); jT80TcpSessionManager.TryAdd(new Metadata.JT808TcpSession(channel2, no4)); jT80TcpSessionManager.RemoveSessionByChannel(channel1); } } }