blob: 32896e1131e6015e585e26154f1e1abf4f07000b [file] [log] [blame]
package android.bluetooth;
import static org.junit.Assert.fail;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyObject;
import static org.mockito.Mockito.when;
import android.os.ParcelFileDescriptor;
import android.os.RemoteException;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
/** Mock {@link BluetoothAdapter} in the same package to access package private methods */
public class MockBluetoothProxyHelper {
@Mock IBluetooth mockBluetoothService;
@Mock IBluetoothSocketManager mockBluetoothSocketManager;
@Mock ParcelFileDescriptor mockParcelFileDescriptor;
private BluetoothAdapter mockBluetoothAdapter;
public MockBluetoothProxyHelper(BluetoothAdapter mockBluetoothAdapter) {
this.mockBluetoothAdapter = mockBluetoothAdapter;
MockitoAnnotations.initMocks(this);
/** Mocks out package protected method */
when(mockBluetoothAdapter.getBluetoothService(any())).thenReturn(mockBluetoothService);
/** IBluetooth package protected method */
try {
when(mockBluetoothService.getSocketManager()).thenReturn(mockBluetoothSocketManager);
} catch (RemoteException e) {
fail(e.getMessage());
}
/** IBluetooth package protected method */
try {
when(mockBluetoothSocketManager.connectSocket(anyObject(), anyInt(), anyObject(),
anyInt(), anyInt())).thenReturn(mockParcelFileDescriptor);
} catch (RemoteException e) {
fail(e.getMessage());
}
}
public void setBluetoothService(IBluetooth bluetoothProxyService) {
when(mockBluetoothAdapter.getBluetoothService(any())).thenReturn(bluetoothProxyService);
}
public void setBluetoothSocketManager(IBluetoothSocketManager bluetoothSocketManager) {
try {
when(mockBluetoothService.getSocketManager()).thenReturn(bluetoothSocketManager);
} catch (RemoteException e) {
fail(e.getMessage());
}
}
public void setMockParcelFileDescriptor(ParcelFileDescriptor parcelFileDescriptor) {
try {
when(mockBluetoothSocketManager.connectSocket(anyObject(), anyInt(), anyObject(),
anyInt(), anyInt())).thenReturn(parcelFileDescriptor);
} catch (RemoteException e) {
fail(e.getMessage());
}
}
}