### Question:
DebugBluetoothGattCallback extends BluetoothGattCallback implements LogControl { @RequiresApi(api = Build.VERSION_CODES.O) @Override public void onPhyUpdate(BluetoothGatt gatt, int txPhy, int rxPhy, int status) { logger.onPhyUpdate(gatt, txPhy, rxPhy, status); callback.onPhyUpdate(gatt, txPhy, rxPhy, status); } @SuppressWarnings("unused")  DebugBluetoothGattCallback(); @SuppressWarnings({"unused", "WeakerAccess"})  DebugBluetoothGattCallback(@NonNull ByteFormat byteFormat,
                                      @NonNull BluetoothGattCallback callback); @SuppressWarnings({"unused", "WeakerAccess"})  DebugBluetoothGattCallback(@NonNull String logTag,
                                      @NonNull ByteFormat byteFormat,
                                      @NonNull BluetoothGattCallback callback); @VisibleForTesting @SuppressWarnings({"unused", "WeakerAccess"})  DebugBluetoothGattCallback(
            @NonNull final String logTag,
            @NonNull final GattCallbackLogger logger,
            @NonNull final BluetoothGattCallback callback); @RequiresApi(api = Build.VERSION_CODES.O) @Override void onPhyUpdate(BluetoothGatt gatt,
                            int txPhy,
                            int rxPhy,
                            int status); @RequiresApi(api = Build.VERSION_CODES.O) @Override void onPhyRead(BluetoothGatt gatt,
                          int txPhy,
                          int rxPhy,
                          int status); @Override void onConnectionStateChange(BluetoothGatt gatt,
                                        int status,
                                        int newState); @Override void onServicesDiscovered(BluetoothGatt gatt,
                                     int status); @Override void onCharacteristicRead(BluetoothGatt gatt,
                                     BluetoothGattCharacteristic characteristic,
                                     int status); @Override void onCharacteristicWrite(BluetoothGatt gatt,
                                      BluetoothGattCharacteristic characteristic,
                                      int status); @Override void onCharacteristicChanged(BluetoothGatt gatt,
                                        BluetoothGattCharacteristic characteristic); @Override void onDescriptorRead(BluetoothGatt gatt,
                                 BluetoothGattDescriptor descriptor,
                                 int status); @Override void onDescriptorWrite(BluetoothGatt gatt,
                                  BluetoothGattDescriptor descriptor,
                                  int status); @Override void onReliableWriteCompleted(BluetoothGatt gatt,
                                         int status); @Override void onReadRemoteRssi(BluetoothGatt gatt,
                                 int rssi,
                                 int status); @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) @Override void onMtuChanged(BluetoothGatt gatt,
                             int mtu,
                             int status); @Override boolean isLoggingEnabled(); @Override void setLoggingEnabled(final boolean enabled);  }### Answer:
@Test @Config(sdk = Build.VERSION_CODES.O) public void onPhyUpdate() { cut.onPhyUpdate(gatt, 1, 1, 1); verifyLogger().onPhyUpdate(gatt, 1, 1, 1); verifyWrappedClient().onPhyUpdate(gatt, 1, 1, 1); }