forked from upstream-mirrors/OpenTracks
Refactor tests: use mocks for BluetoothRemoteSensorManager.
This commit is contained in:
+25
-24
@@ -12,7 +12,6 @@ import android.net.Uri;
|
|||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.preference.PreferenceManager;
|
import androidx.preference.PreferenceManager;
|
||||||
import androidx.test.core.app.ApplicationProvider;
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
@@ -166,7 +165,8 @@ public class ExportImportTest {
|
|||||||
service.insertMarker("Marker 2", "Marker 2 category", "Marker 2 desc", null);
|
service.insertMarker("Marker 2", "Marker 2 category", "Marker 2 desc", null);
|
||||||
|
|
||||||
trackPointCreator.setClock("2020-02-02T02:02:18Z");
|
trackPointCreator.setClock("2020-02-02T02:02:18Z");
|
||||||
trackPointCreator.setRemoteSensorManager(new BluetoothRemoteSensorManager(context, null, trackPointCreator));
|
BluetoothRemoteSensorManager mockRemoteSensorManager = Mockito.mock(BluetoothRemoteSensorManager.class);
|
||||||
|
trackPointCreator.setRemoteSensorManager(mockRemoteSensorManager);
|
||||||
service.endCurrentTrack();
|
service.endCurrentTrack();
|
||||||
|
|
||||||
trackPointCreator.setClock("2020-02-02T02:03:20Z");
|
trackPointCreator.setClock("2020-02-02T02:03:20Z");
|
||||||
@@ -179,7 +179,7 @@ public class ExportImportTest {
|
|||||||
sendLocation(trackPointCreator, "2020-02-02T02:03:23Z", 3, 16.001, 10, 27, 15, 10, 0);
|
sendLocation(trackPointCreator, "2020-02-02T02:03:23Z", 3, 16.001, 10, 27, 15, 10, 0);
|
||||||
|
|
||||||
trackPointCreator.setClock("2020-02-02T02:03:24Z");
|
trackPointCreator.setClock("2020-02-02T02:03:24Z");
|
||||||
trackPointCreator.setRemoteSensorManager(new BluetoothRemoteSensorManager(context, null, trackPointCreator));
|
trackPointCreator.setRemoteSensorManager(mockRemoteSensorManager);
|
||||||
service.endCurrentTrack();
|
service.endCurrentTrack();
|
||||||
|
|
||||||
Track track = contentProviderUtils.getTrack(trackId);
|
Track track = contentProviderUtils.getTrack(trackId);
|
||||||
@@ -495,32 +495,33 @@ public class ExportImportTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void mockBLESensorData(TrackPointCreator trackPointCreator, Float speed, Distance distance, float heartRate, float cadence, Float power) {
|
private void mockBLESensorData(TrackPointCreator trackPointCreator, Float speed, Distance distance, float heartRate, float cadence, Float power) {
|
||||||
trackPointCreator.setRemoteSensorManager(new BluetoothRemoteSensorManager(context, null, trackPointCreator) {
|
BluetoothRemoteSensorManager remoteSensorManager = Mockito.mock(BluetoothRemoteSensorManager.class);
|
||||||
@Override
|
Mockito.when(remoteSensorManager.fill(Mockito.any())).thenAnswer(invocation -> {
|
||||||
public SensorDataSet fill(@NonNull TrackPoint trackPoint) {
|
TrackPoint trackPoint = invocation.getArgument(0);
|
||||||
SensorDataSet sensorDataSet = new SensorDataSet();
|
|
||||||
sensorDataSet.set(new SensorDataCyclingPower("power", "power", Power.of(power)));
|
|
||||||
sensorDataSet.set(new SensorDataHeartRate("heartRate", "heartRate", HeartRate.of(heartRate)));
|
|
||||||
|
|
||||||
SensorDataCyclingCadence cyclingCadence = Mockito.mock(SensorDataCyclingCadence.class);
|
SensorDataSet sensorDataSet = new SensorDataSet();
|
||||||
Mockito.when(cyclingCadence.hasValue()).thenReturn(true);
|
sensorDataSet.set(new SensorDataCyclingPower("power", "power", Power.of(power)));
|
||||||
Mockito.when(cyclingCadence.getValue()).thenReturn(Cadence.of(cadence));
|
sensorDataSet.set(new SensorDataHeartRate("heartRate", "heartRate", HeartRate.of(heartRate)));
|
||||||
sensorDataSet.set(cyclingCadence);
|
|
||||||
|
|
||||||
if (distance != null && speed != null) {
|
SensorDataCyclingCadence cyclingCadence = Mockito.mock(SensorDataCyclingCadence.class);
|
||||||
SensorDataCyclingDistanceSpeed.Data distanceSpeedData = Mockito.mock(SensorDataCyclingDistanceSpeed.Data.class);
|
Mockito.when(cyclingCadence.hasValue()).thenReturn(true);
|
||||||
Mockito.when(distanceSpeedData.getDistanceOverall()).thenReturn(distance);
|
Mockito.when(cyclingCadence.getValue()).thenReturn(Cadence.of(cadence));
|
||||||
Mockito.when(distanceSpeedData.getSpeed()).thenReturn(Speed.of(speed));
|
sensorDataSet.set(cyclingCadence);
|
||||||
SensorDataCyclingDistanceSpeed distanceSpeed = Mockito.mock(SensorDataCyclingDistanceSpeed.class);
|
|
||||||
Mockito.when(distanceSpeed.hasValue()).thenReturn(true);
|
|
||||||
Mockito.when(distanceSpeed.getValue()).thenReturn(distanceSpeedData);
|
|
||||||
sensorDataSet.set(distanceSpeed);
|
|
||||||
}
|
|
||||||
|
|
||||||
sensorDataSet.fillTrackPoint(trackPoint);
|
if (distance != null && speed != null) {
|
||||||
return sensorDataSet;
|
SensorDataCyclingDistanceSpeed.Data distanceSpeedData = Mockito.mock(SensorDataCyclingDistanceSpeed.Data.class);
|
||||||
|
Mockito.when(distanceSpeedData.getDistanceOverall()).thenReturn(distance);
|
||||||
|
Mockito.when(distanceSpeedData.getSpeed()).thenReturn(Speed.of(speed));
|
||||||
|
SensorDataCyclingDistanceSpeed distanceSpeed = Mockito.mock(SensorDataCyclingDistanceSpeed.class);
|
||||||
|
Mockito.when(distanceSpeed.hasValue()).thenReturn(true);
|
||||||
|
Mockito.when(distanceSpeed.getValue()).thenReturn(distanceSpeedData);
|
||||||
|
sensorDataSet.set(distanceSpeed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sensorDataSet.fillTrackPoint(trackPoint);
|
||||||
|
return sensorDataSet;
|
||||||
});
|
});
|
||||||
|
trackPointCreator.setRemoteSensorManager(remoteSensorManager);
|
||||||
trackPointCreator.onChange(new SensorDataSet());
|
trackPointCreator.onChange(new SensorDataSet());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
-1
@@ -6,6 +6,8 @@ import android.location.Location;
|
|||||||
|
|
||||||
import androidx.test.rule.ServiceTestRule;
|
import androidx.test.rule.ServiceTestRule;
|
||||||
|
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
|
||||||
import java.time.Clock;
|
import java.time.Clock;
|
||||||
import java.util.concurrent.TimeoutException;
|
import java.util.concurrent.TimeoutException;
|
||||||
|
|
||||||
@@ -27,7 +29,8 @@ public class TrackRecordingServiceTestUtils {
|
|||||||
TrackRecordingService service = ((TrackRecordingService.Binder) mServiceRule.bindService(new Intent(context, TrackRecordingService.class)))
|
TrackRecordingService service = ((TrackRecordingService.Binder) mServiceRule.bindService(new Intent(context, TrackRecordingService.class)))
|
||||||
.getService();
|
.getService();
|
||||||
|
|
||||||
service.getTrackPointCreator().setRemoteSensorManager(new BluetoothRemoteSensorManager(context, null, service.getTrackPointCreator()));
|
BluetoothRemoteSensorManager remoteSensorManager = Mockito.mock(BluetoothRemoteSensorManager.class);
|
||||||
|
service.getTrackPointCreator().setRemoteSensorManager(remoteSensorManager);
|
||||||
service.getTrackPointCreator().setClock(Clock.systemUTC());
|
service.getTrackPointCreator().setClock(Clock.systemUTC());
|
||||||
service.endCurrentTrack();
|
service.endCurrentTrack();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user