public void Test_Serialize_And_Deserialize_PullRespPacket() { var networkPacket = new PullRespPacket { ProtocolVersion = 1, Payload = new PullRespPacketPayload { Txpk = new Txpk { Time = DateTime.UtcNow, Tmst = GpsTime.Time, Codr = CodeRate.CR_LORA_4_5, Data = "asd", Datr = DatarateIdentifier.SF10BW125, Rfch = 1, Freq = 868.500000, Fdev = 1, } } }; var serializer = new PicocellPacketSerializer(); using (var stream = new MemoryStream()) { var length = serializer.Serialize(networkPacket, stream); stream.Position = 0; //var message = Encoding.Default.GetString(data); var result = serializer.Deserialize(stream); } }
public void Can_Deserialize_PUSH_DATA_empty_object_Version_1() { var message = "{}"; var serializer = new PicocellPacketSerializer(); var protocolVersion = 1; var result = new JsonPacketPayloadSerializer().Deserialize <PushDataPacketPayload>(message, protocolVersion); Assert.Null(result.Rxpk); Assert.Null(result.Stat); }
public void Can_Deserialize_PUSH_DATA_With_rxpk_missing_Version_1() { var message = "{\"stat\":null}"; var serializer = new PicocellPacketSerializer(); var protocolVersion = 1; var result = new JsonPacketPayloadSerializer().Deserialize <PushDataPacketPayload>(message, protocolVersion); Assert.Null(result.Rxpk); Assert.Null(result.Stat); }
public void Can_Deserialize_PUSH_DATA_With_stat_missing_Version_1() { var message = "{\"rxpk\":[{\"rsig\":[{\"ant\":0,\"chan\":0,\"lsnr\":8.5,\"rssis\":-114.0,\"rssic\":-114,\"rssisd\":0,\"etime\":null,\"foff\":0.0,\"ftime\":null,\"ft2d\":0,\"rfbsb\":0,\"rs2s1\":0}],\"tmst\":2214587506,\"time\":\"2018-04-25T15:09:47.5060049Z\",\"freq\":868.5,\"rfch\":0,\"did\":0,\"stat\":1,\"modu\":\"LORA\",\"datr\":\"SF7BW250\",\"codr\":\"4/5\",\"size\":10,\"data\":\"gBAAABEAAQABU7mLhJc=\"}],\"txpk_ack\":null}"; var serializer = new PicocellPacketSerializer(); var protocolVersion = 1; var result = new JsonPacketPayloadSerializer().Deserialize <PushDataPacketPayload>(message, protocolVersion); Assert.NotNull(result.Rxpk); Assert.Null(result.Stat); }
public void Test_Serialize_And_Deserialize_PushDataPacket_Version_1() { var gatewayId = "0000000000000001"; /* Create a unique correlation token for the unit test */ ushort correlationToken = 3; /* Create the packet for the network server */ var packet = new PushDataPacket { ProtocolVersion = 1, Token = correlationToken, Eui = gatewayId, Payload = new PushDataPacketPayload { Rxpk = new List <Rxpk>() { new RxpkV1 { Time = DateTime.UtcNow, Timestamp = GpsTime.Time, Channel = 7, RadioFrequencyChain = 1, Frequency = 868.500000, CrcStatus = CrcStatus.OK, Modulation = Modulation.LORA, DataRate = DatarateIdentifier.SF7BW125, CodingRate = CodeRate.CR_LORA_4_8, ReceivedSignalStrength = 112, LoraSignalToNoiseRatio = 1.2, Size = 14, Data = "Wg3qoMwpJ5T372B9pxLIs0kbvUs=", } }, Stat = new StatV1 { Lati = 46.24, Long = 3.2523, Alti = 100, Time = DateTime.UtcNow, }, } }; var serializer = new PicocellPacketSerializer(); using (var stream = new MemoryStream()) { var length = serializer.Serialize(packet, stream); stream.Position = 0; var result = serializer.Deserialize(stream); } }
static void Main(string[] args) { var serializer = new PicocellPacketSerializer(); var logger = new Logger(); var manager = new GatewayProxyManager(new GatewayProxyFactory(serializer, logger), new UdpBinding(serializer), new IPEndPoint(IPAddress.Any, 1690), logger); manager.Start(); Console.ReadKey(); }