/** * @param beacon the beacon whose fields we should copy to this beacon builder * @return */ public Builder copyBeaconFields(Beacon beacon) { setIdentifiers(beacon.getIdentifiers()); setBeaconTypeCode(beacon.getBeaconTypeCode()); setDataFields(beacon.getDataFields()); setBluetoothAddress(beacon.getBluetoothAddress()); setBluetoothName(beacon.getBluetoothName()); setExtraDataFields(beacon.getExtraDataFields()); setManufacturer(beacon.getManufacturer()); setTxPower(beacon.getTxPower()); setRssi(beacon.getRssi()); setServiceUuid(beacon.getServiceUuid()); return this; }
@Test public void gattBeaconExtraDataAreNotOverwritten() { Beacon beacon = getGattBeacon(); Beacon extraDataBeacon = getGattBeaconExtraData(); GattBeaconTracker tracker = new GattBeaconTracker(); tracker.track(beacon); tracker.track(extraDataBeacon); Beacon trackedBeacon = tracker.track(beacon); assertEquals( "extra data should not be overwritten", extraDataBeacon.getDataFields(), trackedBeacon.getExtraDataFields()); }
@Test public void gattBeaconExtraDataGetUpdated() { Beacon beacon = getGattBeacon(); Beacon extraDataBeacon = getGattBeaconExtraData(); Beacon extraDataBeacon2 = getGattBeaconExtraData2(); GattBeaconTracker tracker = new GattBeaconTracker(); tracker.track(beacon); tracker.track(extraDataBeacon); tracker.track(extraDataBeacon2); Beacon trackedBeacon = tracker.track(beacon); assertEquals( "extra data is updated", extraDataBeacon2.getDataFields(), trackedBeacon.getExtraDataFields()); }