Skip to content

Commit

Permalink
Update FhirInstantDeserializerTests
Browse files Browse the repository at this point in the history
  • Loading branch information
johngrimes committed Feb 19, 2025
1 parent a53a594 commit 584e368
Showing 1 changed file with 14 additions and 28 deletions.
42 changes: 14 additions & 28 deletions src/test/java/au/csiro/fhir/model/FhirInstantDeserializerTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,45 +31,23 @@ class FhirInstantDeserializerTest {

final FhirInstantDeserializer fhirInstantDeserializer = new FhirInstantDeserializer();

final static Instant TEST_INSTANT = Instant.parse("2023-01-02T00:01:02.123Z");
final static long TEST_INSTANT_EPOCH_MILLI = TEST_INSTANT.toEpochMilli();

@Test
void deserializeFromMillsecondsValueAsNumber() {
assertEquals(TEST_INSTANT,
fhirInstantDeserializer.deserialize(new JsonPrimitive(TEST_INSTANT_EPOCH_MILLI),
Instant.class,
null));
}

@Test
void deserializeFromMillsecondsValueAsString() {
assertEquals(TEST_INSTANT,
fhirInstantDeserializer.deserialize(
new JsonPrimitive(String.valueOf(TEST_INSTANT_EPOCH_MILLI)), Instant.class,
null));
}


@Test
void deserializeFromFHIRStringValueWithZoneZ() {
void deserializeFromStringWithZoneZ() {
assertEquals(Instant.parse("1971-10-12T01:02:03.123Z"),
fhirInstantDeserializer.deserialize(new JsonPrimitive("1971-10-12T01:02:03.123Z"),
Instant.class,
null));
Instant.class, null));
}

@Test
void deserializeFromFHIRStringValueWithExplicitOffset() {
assertEquals(TEST_INSTANT,
void deserializeFromStringWithExplicitOffset() {
assertEquals(Instant.parse("2023-01-02T00:01:02.123Z"),
fhirInstantDeserializer.deserialize(new JsonPrimitive("2023-01-02T01:31:02.123+01:30"),
Instant.class,
null));
Instant.class, null));
}


@Test
void deserializeFromFHIRStringValueWithNoMilliseconds() {
void deserializeFromStringWithNoMilliseconds() {
assertEquals(Instant.parse("2023-01-02T01:31:02Z"),
fhirInstantDeserializer.deserialize(new JsonPrimitive("2023-01-02T01:31:02Z"),
Instant.class, null));
Expand All @@ -89,4 +67,12 @@ void deserializeFromNonPrimitive() {
assertEquals("Failed to parse Instant from non-primitive: []", ex.getMessage());
}

@Test
void deserializeFromStringWithInsufficientPrecision() {
final JsonParseException ex = assertThrows(JsonParseException.class,
() -> fhirInstantDeserializer.deserialize(new JsonPrimitive("2023-01-02T01:31Z"),
Instant.class, null));
assertEquals("Failed to parse Instant from string: \"2023-01-02T01:31Z\"", ex.getMessage());
}

}

0 comments on commit 584e368

Please sign in to comment.