public IEnumerator RawByteDispatcherAddRemoveListenerTest() { _dispatcher = new RawByteDispatcher(1, 0, (num, bytes) => { _receivedMsgNum = num; _receivedBytes = bytes; }); _dispatcher.AddListener(0); var dataPack = DataPackPool.GetDataPack(); var msgBytes = new byte[] { 1, 2, 3, 4, 5, 6, 0, 0, 0, 0, 0, 1 }; dataPack.TryAddDataToDict("VersionNum", -1, -1, 1, typeof(int)); dataPack.TryAddDataToDict("MsgNum", -1, -1, 0, typeof(int)); dataPack.TryAddDataToDict("MsgBodu", 0, msgBytes.Length, null, null); dataPack.PrepareWriteAfter(msgBytes.Length); dataPack.Writer.Write(msgBytes); dataPack.Position = 0; try { _dispatcher.Input(dataPack); } catch (Exception e) { Assert.Fail(e.Message); } yield return(null); Assert.AreEqual(_receivedMsgNum, 0); Assert.AreEqual(_receivedBytes, new byte[] { 1, 2, 3, 4, 5, 6, 0, 0, 0, 0, 0, 1 }); dataPack = DataPackPool.GetDataPack(); msgBytes = new byte[] { 1, 2, 3, 4, 5, 6, 0, 0, 0, 0, 0, 0 }; dataPack.TryAddDataToDict("VersionNum", -1, -1, 1, typeof(int)); dataPack.TryAddDataToDict("MsgNum", -1, -1, 0, typeof(int)); dataPack.TryAddDataToDict("MsgBodu", 0, msgBytes.Length, null, null); dataPack.PrepareWriteAfter(msgBytes.Length); dataPack.Writer.Write(msgBytes); dataPack.Position = 0; _dispatcher.RemoveListener(0); try { _dispatcher.Input(dataPack); } catch (Exception e) { Assert.Fail(e.Message); } Assert.AreEqual(_receivedMsgNum, 0); Assert.AreEqual(_receivedBytes, new byte[] { 1, 2, 3, 4, 5, 6, 0, 0, 0, 0, 0, 1 }); yield return(null); }
public IEnumerator RawByteDispatcherSendTest() { _dispatcher = new RawByteDispatcher(1, 12, (num, bytes) => { }); _dispatcher.OutPut += pack => { _sendedMsgNum = (int)pack.DataDict["MsgNum"].Data; _sendedBytes = pack.ReadAllBytes(); }; try { _dispatcher.Send(0, new byte[] { 1, 2, 3, 4, 5, 6, 0, 0, 0, 0, 0, 1 }); } catch (Exception e) { Assert.Fail(e.Message); } yield return(null); Assert.AreEqual(_sendedMsgNum, 0); Assert.AreEqual(_sendedBytes, new byte[] { 1, 2, 3, 4, 5, 6, 0, 0, 0, 0, 0, 1 }); }