public void Beacon_ParseDataWithoutFlags() { var data = new byte[] { 0x00, 0x00, 0x28, 0xEA, 0x6B, 0xB8, 0x5F, 0xD0, 0x1B, 0x1A, 0xFF, 0x4C, 0x00, 0x02, 0x15, 0xA4, 0x95, 0x00, 0x00, 0xC5, 0xB1, 0x4B, 0x44, 0xB5, 0x12, 0x13, 0x70, 0xF0, 0x2D, 0x74, 0xDE, 0x00, 0x02, 0x6D, 0x65, 0xC5, 0xBC }; var queue = new Queue <byte>(data); var beacon = Beacon.Parse(LeAdvertisingEvent.Parse(queue)); Assert.NotNull(beacon); Assert.AreEqual(0x4C00, beacon.CompanyId); Assert.AreEqual(-59, beacon.CalibratedTxPower); }
public void Beacon_ParseDataWithFlags() { var data = new byte[] { 0x00, 0x00, 0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12, 0x1E, 0x02, 0x01, 0x1A, 0x1A, 0xFF, 0xAA, 0xBB, 0x02, 0x15, 0x4F, 0xE5, 0xD5, 0xF6, 0xAB, 0xCE, 0xDD, 0xFE, 0x15, 0x87, 0x12, 0x3D, 0x1A, 0x4B, 0x56, 0x7F, 0x04, 0xD2, 0x16, 0x2E, 0xD0, 0xCC }; var queue = new Queue <byte>(data); var beacon = Beacon.Parse(LeAdvertisingEvent.Parse(queue)); Assert.AreEqual(new byte[] { 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC }, beacon.Address); Assert.AreEqual("4fe5d5f6-abce-ddfe-1587-123d1a4b567f", beacon.Uuid); Assert.AreEqual(1234, beacon.Major); Assert.AreEqual(5678, beacon.Minor); Assert.AreEqual(-48, beacon.CalibratedTxPower); Assert.AreEqual(0xAABB, beacon.CompanyId); Assert.AreEqual(-52, beacon.Rssi); Assert.IsFalse(beacon.IsAppleIBeacon); }
public void Beacon_Parse() { var address = new byte[] { 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC }; var queue = new Queue <byte>(); queue.Enqueue(0x00); queue.Enqueue(0x00); queue.Enqueue(address.Reverse()); queue.Enqueue((byte)data.Length); queue.Enqueue(data); unchecked { queue.Enqueue((byte)-52); } var beacon = Beacon.Parse(LeAdvertisingEvent.Parse(queue)); Assert.AreEqual(address, beacon.Address); Assert.AreEqual("4fe5d5f6-abce-ddfe-1587-123d1a4b567f", beacon.Uuid); Assert.AreEqual(1234, beacon.Major); Assert.AreEqual(5678, beacon.Minor); Assert.AreEqual(-48, beacon.CalibratedTxPower); Assert.AreEqual(0xAABB, beacon.CompanyId); Assert.AreEqual(-52, beacon.Rssi); Assert.IsFalse(beacon.IsAppleIBeacon); }