Skip to content

Commit 11c9a0f

Browse files
authored
#226: Implemented time range fix, that altered the end date-time of the sleep data (#35)
1 parent 3df18b3 commit 11c9a0f

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

src/main/java/io/redlink/more/data/transformers/garmin/SleepDataTransformer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ private GarminTimeData<GarminSleepData> dataToSleep(GarminDataPoint dataPoint) {
5353
long awakeDurationInSeconds = sleepData.awakeDurationInSeconds() == null ? 0L : sleepData.awakeDurationInSeconds();
5454
long unmeasurableSleepInSeconds = sleepData.unmeasurableSleepInSeconds() == null ? 0L : sleepData.unmeasurableSleepInSeconds();
5555
Instant end = range.getMaximum().plusSeconds(awakeDurationInSeconds + unmeasurableSleepInSeconds);
56-
return new GarminTimeData<>(end, sleepData, range);
56+
Range<Instant> newRange = Range.of(range.getMinimum(), end);
57+
return new GarminTimeData<>(end, sleepData, newRange);
5758
}
5859
}

src/test/java/io/redlink/more/data/service/SleepDataTransformerTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ void transform_ToDataPoint_returnsDataPoints_whenValidSleep() {
5252
.summaryId("sleep-summary-123")
5353
.startTimeInSeconds((int) startTime.getEpochSecond())
5454
.durationInSeconds((int) (endTime.getEpochSecond() - startTime.getEpochSecond()))
55+
.awakeDurationInSeconds((long) 1000)
5556
.startTimeOffsetInSeconds(0);
5657

5758
// Observation schedule that clearly overlaps the Garmin datapoint time range
@@ -91,10 +92,10 @@ void transform_ToDataPoint_returnsDataPoints_whenValidSleep() {
9192
.findFirst()
9293
.orElseThrow();
9394
assertEquals(DataType.SLEEP.name(), sleep.dataType());
94-
assertEquals(endTime, sleep.effectiveDateTime());
95+
assertEquals(endTime.plusSeconds(1000), sleep.effectiveDateTime());
9596
assertNotNull(sleep.data());
9697
assertEquals(startTime, sleep.data().get("startTime"));
97-
assertEquals(endTime, sleep.data().get("endTime"));
98+
assertEquals(endTime.plusSeconds(1000), sleep.data().get("endTime"));
9899
}
99100

100101
@Test

0 commit comments

Comments
 (0)