### Question:
DSTOffsetDataCallback extends ProfileReadResponse implements DSTOffsetCallback { @Override public void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final Data data) { super.onDataReceived(device, data); final DSTOffset offset = readDSTOffset(data, 0); if (offset == null) { onInvalidDataReceived(device, data); return; } onDSTOffsetReceived(device, offset); } DSTOffsetDataCallback(); protected  DSTOffsetDataCallback(final Parcel in); @Override void onDataReceived(@NonNull final BluetoothDevice device, @NonNull final Data data); @Nullable static DSTOffset readDSTOffset(@NonNull final Data data, final int offset);  }### Answer:
@Test public void onDSTOffsetReceived_standard() { final Data data = new Data(new byte[] { 0 }); callback.onDataReceived(null, data); assertTrue(success); assertSame(DSTOffsetCallback.DSTOffset.STANDARD_TIME, result); }
@Test public void onDSTOffsetReceived_half() { final Data data = new Data(new byte[] { 2 }); callback.onDataReceived(null, data); assertTrue(success); assertSame(DSTOffsetCallback.DSTOffset.HALF_AN_HOUR_DAYLIGHT_TIME, result); }
@Test public void onDSTOffsetReceived_daylight() { final Data data = new Data(new byte[] { 4 }); callback.onDataReceived(null, data); assertTrue(success); assertSame(DSTOffsetCallback.DSTOffset.DAYLIGHT_TIME, result); }
@Test public void onDSTOffsetReceived_double() { final Data data = new Data(new byte[] { 8 }); callback.onDataReceived(null, data); assertTrue(success); assertSame(DSTOffsetCallback.DSTOffset.DOUBLE_DAYLIGHT_TIME, result); }
@Test public void onDSTOffsetReceived_unknown() { final Data data = new Data(new byte[] {(byte) 255}); callback.onDataReceived(null, data); assertTrue(success); assertSame(DSTOffsetCallback.DSTOffset.UNKNOWN, result); }
@Test public void onDSTOffsetReceived_invalid() { final Data data = new Data(new byte[] { 17 }); callback.onDataReceived(null, data); assertTrue(invalidData); }
@Test public void onDSTOffsetReceived_tooShort() { final Data data = new Data(new byte[0]); callback.onDataReceived(null, data); assertTrue(invalidData); }