TrackRecordingService: add tests for state changes.

This commit is contained in:
Dennis Guse
2022-01-07 23:41:43 +01:00
parent 3701b61852
commit f5ce76955b
5 changed files with 348 additions and 103 deletions
@@ -35,6 +35,7 @@ import androidx.lifecycle.MutableLiveData;
import java.time.Duration;
import java.time.ZoneOffset;
import java.util.Objects;
import de.dennisguse.opentracks.R;
import de.dennisguse.opentracks.TrackListActivity;
@@ -515,7 +516,8 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
private final Track.Id trackId;
private final boolean paused;
private RecordingStatus(Track.Id trackId, boolean paused) {
@VisibleForTesting
RecordingStatus(Track.Id trackId, boolean paused) {
this.trackId = trackId;
this.paused = paused;
}
@@ -560,6 +562,19 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
", paused=" + paused +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
RecordingStatus that = (RecordingStatus) o;
return paused == that.paused && Objects.equals(trackId, that.trackId);
}
@Override
public int hashCode() {
return Objects.hash(trackId, paused);
}
}
public static class RecordingData {
@@ -606,5 +621,27 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
public SensorDataSet getSensorDataSet() {
return sensorDataSet;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
RecordingData that = (RecordingData) o;
return Objects.equals(track, that.track) && Objects.equals(latestTrackPoint, that.latestTrackPoint) && Objects.equals(sensorDataSet, that.sensorDataSet);
}
@Override
public int hashCode() {
return Objects.hash(track, latestTrackPoint, sensorDataSet);
}
@Override
public String toString() {
return "RecordingData{" +
"track=" + track +
", latestTrackPoint=" + latestTrackPoint +
", sensorDataSet=" + sensorDataSet +
'}';
}
}
}