123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using Quectel_BC35_G_NBIOT;
- using Quectel_BC35_G_NBIOT.MessageEntity.AT.Incoming;
- using Quectel_BC35_G_NBIOT.MessageEntity.AT.Outgoing._3GPP;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Quectel_BC35_G_NBIOT_Test
- {
- [TestClass]
- public class MessageTest
- {
- public static bool ValueEquals(IEnumerable<byte> array1, IEnumerable<byte> array2)
- {
- if (array1 == null && array2 == null)
- {
- return true;
- }
- if ((array1 == null) || (array2 == null))
- {
- return false;
- }
- if (array1.Count() != array2.Count())
- {
- return false;
- }
- if (array1.Equals(array2))
- {
- return true;
- }
- else
- {
- for (int Index = 0; Index < array1.Count(); Index++)
- {
- if (!Equals(array1.ElementAt(Index), array2.ElementAt(Index)))
- {
- return false;
- }
- }
- }
- return true;
- }
- #region DisplayProductIdentificationInformationCommand
- [TestMethod]
- public void DisplayProductIdentificationInformationCommandTestMethod1()
- {
- var command = new DisplayProductIdentificationInformationCommand();
- Quectel_BC35_G_NBIOT.Parser parser = new Quectel_BC35_G_NBIOT.Parser();
- var actual = parser.Serialize(command);
- var expect = Encoding.UTF8.GetBytes("ATI")
- .Concat(new byte[] { MessageCutter.CR, MessageCutter.LF });
- Assert.AreEqual(true, ValueEquals(actual, expect));
- }
- [TestMethod]
- public void DisplayProductIdentificationInformationCommandResponseTestMethod1()
- {
- var msgStrContent = MessageCutter.CRLF +
- "Quectel" + MessageCutter.CRLF +
- "123" + MessageCutter.CRLF +
- "Revision:789" + MessageCutter.CRLF +
- MessageCutter.CRLF +
- "OK" + MessageCutter.CRLF;
- var raw = Encoding.UTF8.GetBytes(msgStrContent);
- Quectel_BC35_G_NBIOT.Parser parser = new Quectel_BC35_G_NBIOT.Parser();
- var actual = parser.Deserialize(raw.ToArray()) as GenericResponse;
- Assert.AreEqual(true, actual != null);
- Assert.AreEqual(true, actual.State.HasValue);
- Assert.AreEqual(true, actual.State == GenericResponse.ResponseState.OK);
- Assert.AreEqual(true, actual.StringBody == msgStrContent);
- }
- [TestMethod]
- public void DisplayProductIdentificationInformationCommandResponseTestMethod2()
- {
- var msgStrContent = MessageCutter.CRLF +
- "Quectel" + MessageCutter.CRLF +
- "123" + MessageCutter.CRLF +
- "Revision:789" + MessageCutter.CRLF +
- MessageCutter.CRLF +
- "ERROR" + MessageCutter.CRLF;
- var raw = Encoding.UTF8.GetBytes(msgStrContent);
- Quectel_BC35_G_NBIOT.Parser parser = new Quectel_BC35_G_NBIOT.Parser();
- var actual = parser.Deserialize(raw.ToArray()) as GenericResponse;
- Assert.AreEqual(true, actual != null);
- Assert.AreEqual(true, actual.State.HasValue);
- Assert.AreEqual(true, actual.State == GenericResponse.ResponseState.ERROR);
- Assert.AreEqual(true, actual.StringBody == msgStrContent);
- }
- [TestMethod]
- public void DisplayProductIdentificationInformationCommandResponseTestMethod3()
- {
- var msgStrContent = MessageCutter.CRLF +
- "Quectel" + MessageCutter.CRLF +
- "123" + MessageCutter.CRLF +
- "Revision:789" + MessageCutter.CRLF +
- MessageCutter.CRLF +
- "+CME ERROR:1" + MessageCutter.CRLF;
- var raw = Encoding.UTF8.GetBytes(msgStrContent);
- Quectel_BC35_G_NBIOT.Parser parser = new Quectel_BC35_G_NBIOT.Parser();
- var actual = parser.Deserialize(raw.ToArray()) as GenericResponse;
- Assert.AreEqual(true, actual != null);
- Assert.AreEqual(true, actual.State.HasValue);
- Assert.AreEqual(true, actual.State == GenericResponse.ResponseState.CME_ERROR);
- Assert.AreEqual(true, actual.CME_ERROR_CODE.HasValue);
- Assert.AreEqual(true, actual.CME_ERROR_CODE == 1);
- Assert.AreEqual(true, actual.StringBody == msgStrContent);
- }
- [TestMethod]
- public void DisplayProductIdentificationInformationCommandResponseTestMethod4()
- {
- var msgStrContent = MessageCutter.CRLF +
- "Quectel" + MessageCutter.CRLF +
- "123" + MessageCutter.CRLF +
- "Revision:789" + MessageCutter.CRLF +
- MessageCutter.CRLF +
- "+CME ERROR:1123123" + MessageCutter.CRLF;
- var raw = Encoding.UTF8.GetBytes(msgStrContent);
- Quectel_BC35_G_NBIOT.Parser parser = new Quectel_BC35_G_NBIOT.Parser();
- var actual = parser.Deserialize(raw.ToArray()) as GenericResponse;
- Assert.AreEqual(true, actual != null);
- Assert.AreEqual(true, actual.State.HasValue);
- Assert.AreEqual(true, actual.State == GenericResponse.ResponseState.CME_ERROR);
- Assert.AreEqual(true, actual.CME_ERROR_CODE.HasValue);
- Assert.AreEqual(true, actual.CME_ERROR_CODE == 1123123);
- Assert.AreEqual(true, actual.StringBody == msgStrContent);
- }
- [TestMethod]
- public void DisplayProductIdentificationInformationCommandResponseTestMethod5()
- {
- var msgStrContent = MessageCutter.CRLF +
- "Quectel" + MessageCutter.CRLF +
- "123" + MessageCutter.CRLF +
- "Revision:789" + MessageCutter.CRLF +
- MessageCutter.CRLF +
- "+CME ERROR: 1123123" + MessageCutter.CRLF;
- var raw = Encoding.UTF8.GetBytes(msgStrContent);
- Quectel_BC35_G_NBIOT.Parser parser = new Quectel_BC35_G_NBIOT.Parser();
- var actual = parser.Deserialize(raw.ToArray()) as GenericResponse;
- Assert.AreEqual(true, actual != null);
- Assert.AreEqual(true, actual.State.HasValue);
- Assert.AreEqual(true, actual.State == GenericResponse.ResponseState.CME_ERROR);
- Assert.AreEqual(true, actual.CME_ERROR_CODE.HasValue);
- Assert.AreEqual(true, actual.CME_ERROR_CODE == 1123123);
- Assert.AreEqual(true, actual.StringBody == msgStrContent);
- }
- [TestMethod]
- public void DisplayProductIdentificationInformationCommandResponseTestMethod6()
- {
- var msgStrContent = MessageCutter.CRLF +
- "Quectel" + MessageCutter.CRLF +
- "123" + MessageCutter.CRLF +
- "Revision:789" + MessageCutter.CRLF +
- MessageCutter.CRLF +
- "+CME ERROR:" + MessageCutter.CRLF;
- var raw = Encoding.UTF8.GetBytes(msgStrContent);
- Quectel_BC35_G_NBIOT.Parser parser = new Quectel_BC35_G_NBIOT.Parser();
- var actual = parser.Deserialize(raw.ToArray()) as GenericResponse;
- Assert.AreEqual(true, actual != null);
- Assert.AreEqual(true, actual.State.HasValue);
- Assert.AreEqual(true, actual.State == GenericResponse.ResponseState.CME_ERROR);
- Assert.AreEqual(true, !actual.CME_ERROR_CODE.HasValue);
- Assert.AreEqual(true, actual.StringBody == msgStrContent);
- }
- #endregion
- #region SetCommandEchoModeCommand
- [TestMethod]
- public void SetCommandEchoModeCommandTestMethod1()
- {
- var command = new SetCommandEchoModeCommand(true);
- Quectel_BC35_G_NBIOT.Parser parser = new Quectel_BC35_G_NBIOT.Parser();
- var actual = parser.Serialize(command);
- var expect = Encoding.UTF8.GetBytes("ATE1")
- .Concat(new byte[] { MessageCutter.CR, MessageCutter.LF });
- Assert.AreEqual(true, ValueEquals(actual, expect));
- }
- [TestMethod]
- public void SetCommandEchoModeCommandTestMethod2()
- {
- var command = new SetCommandEchoModeCommand(false);
- Quectel_BC35_G_NBIOT.Parser parser = new Quectel_BC35_G_NBIOT.Parser();
- var actual = parser.Serialize(command);
- var expect = Encoding.UTF8.GetBytes("ATE0")
- .Concat(new byte[] { MessageCutter.CR, MessageCutter.LF });
- Assert.AreEqual(true, ValueEquals(actual, expect));
- }
- [TestMethod]
- public void SetCommandEchoModeCommandResponseTestMethod1()
- {
- var msgStrContent = "OK" + MessageCutter.CRLF;
- var raw = Encoding.UTF8.GetBytes(msgStrContent);
- Quectel_BC35_G_NBIOT.Parser parser = new Quectel_BC35_G_NBIOT.Parser();
- var actual = parser.Deserialize(raw.ToArray()) as GenericResponse;
- Assert.AreEqual(true, actual != null);
- Assert.AreEqual(true, actual.State.HasValue);
- Assert.AreEqual(true, actual.State == GenericResponse.ResponseState.OK);
- Assert.AreEqual(true, actual.StringBody == msgStrContent);
- }
- [TestMethod]
- public void SetCommandEchoModeCommandResponseTestMethod2()
- {
- var msgStrContent = "ERROR" + MessageCutter.CRLF;
- var raw = Encoding.UTF8.GetBytes(msgStrContent);
- Quectel_BC35_G_NBIOT.Parser parser = new Quectel_BC35_G_NBIOT.Parser();
- var actual = parser.Deserialize(raw.ToArray()) as GenericResponse;
- Assert.AreEqual(true, actual != null);
- Assert.AreEqual(true, actual.State.HasValue);
- Assert.AreEqual(true, actual.State == GenericResponse.ResponseState.ERROR);
- Assert.AreEqual(true, actual.StringBody == msgStrContent);
- }
- #endregion
- }
- }
|