public void TestReEncodesBeacon() { byte[] bytes = HexStringToByteArray("02011a1aff1801beac2f234454cf6d4a0fadf2f4911ba9ffa600010002c509"); BeaconParser parser = new BeaconParser(); parser.SetBeaconLayout("m:2-3=beac,i:4-19,i:20-21,i:22-23,p:24-24,d:25-25"); Beacon beacon = parser.FromScanData(bytes, -55, null); byte[] regeneratedBytes = parser.GetBeaconAdvertisementData(beacon); byte[] expectedMatch = new byte[bytes.Length - 7]; Array.Copy(bytes, 7, expectedMatch, 0, expectedMatch.Length); CollectionAssert.AreEqual(expectedMatch, regeneratedBytes, "beacon advertisement bytes should be the same after re-encoding"); }
public void TestReEncodesLittleEndianBeacon() { byte[] bytes = HexStringToByteArray("02011a1aff1801beac0102030405060708090a0b0c0d0e0f1011121314c509"); BeaconParser parser = new BeaconParser(); parser.SetBeaconLayout("m:2-3=beac,i:4-9,i:10-15l,i:16-23,p:24-24,d:25-25"); Beacon beacon = parser.FromScanData(bytes, -55, null); byte[] regeneratedBytes = parser.GetBeaconAdvertisementData(beacon); byte[] expectedMatch = new byte[bytes.Length - 7]; Array.Copy(bytes, 7, expectedMatch, 0, expectedMatch.Length); CollectionAssert.AreEqual(expectedMatch, regeneratedBytes, "beacon advertisement bytes should be the same after re-encoding"); }