### Question:
GlucoseFeatureDataCallback extends ProfileReadResponse implements GlucoseFeatureCallback { @Override public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final Data data) { super.onDataReceived(device, data); if (data.size() != 2) { onInvalidDataReceived(device, data); return; } final int value = data.getIntValue(Data.FORMAT_UINT16, 0); final GlucoseFeatures features = new GlucoseFeatures(value); onGlucoseFeaturesReceived(device, features); } GlucoseFeatureDataCallback(); protected  GlucoseFeatureDataCallback(final Parcel in); @Override void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final Data data);  }### Answer:
@Test public void onGlucoseFeaturesReceived() { final Data data = new Data(new byte[] { (byte) 0b11110000, (byte) 0b00000011 }); callback.onDataReceived(null, data); assertTrue(success); assertFalse(result.lowBatteryDetectionSupported); assertFalse(result.sensorMalfunctionDetectionSupported); assertFalse(result.sensorSampleSizeSupported); assertFalse(result.sensorStripInsertionErrorDetectionSupported); assertTrue(result.sensorStripTypeErrorDetectionSupported); assertTrue(result.sensorResultHighLowSupported); assertTrue(result.sensorTempHighLowDetectionSupported); assertTrue(result.sensorReadInterruptDetectionSupported); assertTrue(result.generalDeviceFaultSupported); assertTrue(result.timeFaultSupported); assertFalse(result.multipleBondSupported); }
@Test public void onInvalidDataReceived() { final Data data = new Data(); callback.onDataReceived(null, data); assertTrue(invalidData); }