Test: fix failing Export/Import tests.

While recording with the sensor is used while on import only the GPS distance is available.
Introduced in a5158a55d9

Fixes #670.
This commit is contained in:
Dennis Guse
2021-04-10 16:16:50 +02:00
parent 6f9c788965
commit 0fb43f6530
@@ -13,9 +13,7 @@ import androidx.test.rule.GrantPermissionRule;
import androidx.test.rule.ServiceTestRule; import androidx.test.rule.ServiceTestRule;
import org.junit.After; import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass; import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@@ -88,24 +86,25 @@ public class ExportImportTest {
private Track.Id trackId; private Track.Id trackId;
private Track.Id importTrackId; private Track.Id importTrackId;
@Before public void setUp(boolean hasSensorDistance) throws TimeoutException {
public void setUp() throws TimeoutException {
TrackRecordingService service = ((TrackRecordingService.Binder) mServiceRule.bindService(new Intent(context, TrackRecordingService.class))) TrackRecordingService service = ((TrackRecordingService.Binder) mServiceRule.bindService(new Intent(context, TrackRecordingService.class)))
.getService(); .getService();
trackId = service.startNewTrack(); trackId = service.startNewTrack();
service.newTrackPoint(createTrackPoint(System.currentTimeMillis(), 3, 14, 10, 15, 10, 0, 66, 3, 50, 5), 0); Distance sensorDistance = hasSensorDistance ? Distance.of(5) : null;
service.newTrackPoint(createTrackPoint(System.currentTimeMillis(), 3, 14, 10, 15, 10, 0, 66, 3, 50, sensorDistance), 0);
service.insertMarker("Marker 1", "Marker 1 category", "Marker 1 desc", null); service.insertMarker("Marker 1", "Marker 1 category", "Marker 1 desc", null);
service.newTrackPoint(createTrackPoint(System.currentTimeMillis(), 3, 14.001, 10, 15, 10, 0, 66, 3, 50, 5), 0); service.newTrackPoint(createTrackPoint(System.currentTimeMillis(), 3, 14.001, 10, 15, 10, 0, 66, 3, 50, sensorDistance), 0);
service.newTrackPoint(createTrackPoint(System.currentTimeMillis(), 3, 14.002, 10, 15, 10, 0, 66, 3, 50, 5), 0); service.newTrackPoint(createTrackPoint(System.currentTimeMillis(), 3, 14.002, 10, 15, 10, 0, 66, 3, 50, sensorDistance), 0);
service.insertMarker("Marker 2", "Marker 2 category", "Marker 2 desc", null); service.insertMarker("Marker 2", "Marker 2 category", "Marker 2 desc", null);
service.pauseCurrentTrack(); service.pauseCurrentTrack();
service.resumeCurrentTrack(); service.resumeCurrentTrack();
service.newTrackPoint(createTrackPoint(System.currentTimeMillis(), 3, 14.003, 10, 15, 10, 0, 66, 3, 50, 5), 0); service.newTrackPoint(createTrackPoint(System.currentTimeMillis(), 3, 14.003, 10, 15, 10, 0, 66, 3, 50, sensorDistance), 0);
service.newTrackPoint(createTrackPoint(System.currentTimeMillis(), 3, 16, 10, 15, 10, 0, 66, 3, 50, 5), 0); service.newTrackPoint(createTrackPoint(System.currentTimeMillis(), 3, 16, 10, 15, 10, 0, 66, 3, 50, sensorDistance), 0);
service.newTrackPoint(createTrackPoint(System.currentTimeMillis(), 3, 16.001, 10, 15, 10, 0, 66, 3, 50, 5), 0); service.newTrackPoint(createTrackPoint(System.currentTimeMillis(), 3, 16.001, 10, 15, 10, 0, 66, 3, 50, sensorDistance), 0);
service.endCurrentTrack(); service.endCurrentTrack();
track = contentProviderUtils.getTrack(trackId); track = contentProviderUtils.getTrack(trackId);
@@ -129,17 +128,11 @@ public class ExportImportTest {
} }
} }
@Ignore("Not implemented")
@LargeTest @LargeTest
@Test @Test
public void kml_only_track() { public void kml_with_trackdetail() throws TimeoutException {
// TODO setUp(false);
Log.e(TAG, "Test not implemented.");
}
@LargeTest
@Test
public void kml_with_trackdetail() {
// given // given
Track track = contentProviderUtils.getTrack(trackId); Track track = contentProviderUtils.getTrack(trackId);
@@ -170,7 +163,7 @@ public class ExportImportTest {
assertTrackpoints(trackPoints, false, false, false, false, false, false); assertTrackpoints(trackPoints, false, false, false, false, false, false);
// 3. trackstatistics // 3. trackstatistics
assertTrackStatistics(false, false, false); assertTrackStatistics(false, false, true);
// 4. markers // 4. markers
assertMarkers(); assertMarkers();
@@ -178,7 +171,9 @@ public class ExportImportTest {
@LargeTest @LargeTest
@Test @Test
public void kml_with_trackdetail_and_sensordata() { public void kml_with_trackdetail_and_sensordata() throws TimeoutException {
setUp(true);
// given // given
Track track = contentProviderUtils.getTrack(trackId); Track track = contentProviderUtils.getTrack(trackId);
@@ -216,7 +211,9 @@ public class ExportImportTest {
@LargeTest @LargeTest
@Test(expected = ImportAlreadyExistsException.class) @Test(expected = ImportAlreadyExistsException.class)
public void kml_with_trackdetail_and_sensordata_duplicate_trackUUID() { public void kml_with_trackdetail_and_sensordata_duplicate_trackUUID() throws TimeoutException {
setUp(false);
// given // given
SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit(); SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit();
editor.putBoolean(context.getString(R.string.import_prevent_reimport_key), true); editor.putBoolean(context.getString(R.string.import_prevent_reimport_key), true);
@@ -242,7 +239,9 @@ public class ExportImportTest {
@LargeTest @LargeTest
@Test @Test
public void gpx() { public void gpx() throws TimeoutException {
setUp(true);
// given // given
Track track = contentProviderUtils.getTrack(trackId); Track track = contentProviderUtils.getTrack(trackId);
@@ -288,7 +287,9 @@ public class ExportImportTest {
@LargeTest @LargeTest
@Test(expected = ImportAlreadyExistsException.class) @Test(expected = ImportAlreadyExistsException.class)
public void gpx_duplicate_trackUUID() { public void gpx_duplicate_trackUUID() throws TimeoutException {
setUp(false);
// given // given
SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit(); SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit();
editor.putBoolean(context.getString(R.string.import_prevent_reimport_key), true); editor.putBoolean(context.getString(R.string.import_prevent_reimport_key), true);
@@ -428,7 +429,7 @@ public class ExportImportTest {
} }
} }
private static TrackPoint createTrackPoint(long time, double latitude, double longitude, float accuracy, float speed, float altitude, float altitudeGain, float heartRate, float cyclingCadence, float power, float distance) { private static TrackPoint createTrackPoint(long time, double latitude, double longitude, float accuracy, float speed, float altitude, float altitudeGain, float heartRate, float cyclingCadence, float power, Distance distance) {
TrackPoint tp = new TrackPoint(latitude, longitude, (double) altitude, Instant.ofEpochMilli(time)); TrackPoint tp = new TrackPoint(latitude, longitude, (double) altitude, Instant.ofEpochMilli(time));
tp.setAccuracy(accuracy); tp.setAccuracy(accuracy);
tp.setSpeed(Speed.of(speed)); tp.setSpeed(Speed.of(speed));
@@ -436,7 +437,7 @@ public class ExportImportTest {
tp.setCyclingCadence_rpm(cyclingCadence); tp.setCyclingCadence_rpm(cyclingCadence);
tp.setPower(power); tp.setPower(power);
tp.setAltitudeGain(altitudeGain); tp.setAltitudeGain(altitudeGain);
tp.setSensorDistance(Distance.of(distance)); tp.setSensorDistance(distance);
return tp; return tp;
} }
} }