No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

64 líneas
3.0 KiB

  1. using JT808.Protocol.Extensions;
  2. using JT808.Protocol.Metadata;
  3. using JT808.Protocol.MessageBody;
  4. using System.Collections.Generic;
  5. using Xunit;
  6. namespace JT808.Protocol.Test.MessageBody
  7. {
  8. public class JT808_0x8401Test
  9. {
  10. JT808Serializer JT808Serializer = new JT808Serializer();
  11. [Fact]
  12. public void Test1()
  13. {
  14. JT808_0x8401 jT808_0X8401 = new JT808_0x8401
  15. {
  16. SettingTelephoneBook = Enums.JT808SettingTelephoneBook.追加电话本
  17. };
  18. List<JT808ContactProperty> jT808ContactProperties = new List<JT808ContactProperty>();
  19. jT808ContactProperties.Add(new JT808ContactProperty
  20. {
  21. TelephoneBookContactType= Enums.JT808TelephoneBookContactType.呼入,
  22. Contact="smallchi",
  23. PhoneNumber="13456smallch"
  24. });
  25. jT808ContactProperties.Add(new JT808ContactProperty
  26. {
  27. TelephoneBookContactType = Enums.JT808TelephoneBookContactType.呼入_呼出,
  28. Contact = "koike",
  29. PhoneNumber = "koike123456"
  30. });
  31. jT808_0X8401.JT808ContactProperties = jT808ContactProperties;
  32. var hex = JT808Serializer.Serialize(jT808_0X8401).ToHexString();
  33. Assert.Equal("0202010C3133343536736D616C6C636808736D616C6C636869030B6B6F696B65313233343536056B6F696B65", hex);
  34. //"02 02 01 0C 31 33 34 35 36 73 6D 61 6C 6C 63 68 08 73 6D 61 6C 6C 63 68 69 03 0B 6B 6F 69 6B 65 31 32 33 34 35 36 05 6B 6F 69 6B 65"
  35. }
  36. [Fact]
  37. public void Test2()
  38. {
  39. var bytes = "02 02 01 0C 31 33 34 35 36 73 6D 61 6C 6C 63 68 08 73 6D 61 6C 6C 63 68 69 03 0B 6B 6F 69 6B 65 31 32 33 34 35 36 05 6B 6F 69 6B 65".ToHexBytes();
  40. JT808_0x8401 jT808_0X8401 = JT808Serializer.Deserialize<JT808_0x8401>(bytes);
  41. Assert.Equal(Enums.JT808SettingTelephoneBook.追加电话本, jT808_0X8401.SettingTelephoneBook);
  42. Assert.Equal(2, jT808_0X8401.ContactCount);
  43. Assert.Equal("13456smallch", jT808_0X8401.JT808ContactProperties[0].PhoneNumber);
  44. Assert.Equal(Enums.JT808TelephoneBookContactType.呼入, jT808_0X8401.JT808ContactProperties[0].TelephoneBookContactType);
  45. Assert.Equal("smallchi", jT808_0X8401.JT808ContactProperties[0].Contact);
  46. Assert.Equal("koike123456", jT808_0X8401.JT808ContactProperties[1].PhoneNumber);
  47. Assert.Equal(Enums.JT808TelephoneBookContactType.呼入_呼出, jT808_0X8401.JT808ContactProperties[1].TelephoneBookContactType);
  48. Assert.Equal("koike", jT808_0X8401.JT808ContactProperties[1].Contact);
  49. }
  50. [Fact]
  51. public void Test3()
  52. {
  53. var bytes = "02 02 01 0C 31 33 34 35 36 73 6D 61 6C 6C 63 68 08 73 6D 61 6C 6C 63 68 69 03 0B 6B 6F 69 6B 65 31 32 33 34 35 36 05 6B 6F 69 6B 65".ToHexBytes();
  54. string json = JT808Serializer.Analyze<JT808_0x8401>(bytes);
  55. }
  56. }
  57. }