use of com.fasterxml.jackson.dataformat.ion.IonObjectMapper in project jackson-dataformats-binary by FasterXML.
the class IonTimestampZonedDateTimeDeserializerTest method testDeserializationWithTypeInfo02.
@Test
public void testDeserializationWithTypeInfo02() throws Exception {
ZonedDateTime expected = ZonedDateTime.ofInstant(Instant.ofEpochSecond(123456789L, 0), UTC);
IonObjectMapper m = newMapperBuilder().enable(DeserializationFeature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS).addMixIn(Temporal.class, MockObjectConfiguration.class).build();
Temporal actual = m.readValue("[\"" + ZonedDateTime.class.getName() + "\",123456789]", Temporal.class);
assertTrue("The value should be an ZonedDateTime.", actual instanceof ZonedDateTime);
assertEquals("The value is not correct.", expected, actual);
}
use of com.fasterxml.jackson.dataformat.ion.IonObjectMapper in project jackson-dataformats-binary by FasterXML.
the class IonAnnotationTypeDeserializerWithClassNameAnnotationTest method testDeserializeNonAnnotatedPayload.
@Test
public void testDeserializeNonAnnotatedPayload() throws IOException {
IonObjectMapper mapper = constructIomWithClassNameIdResolver();
ClassB<ClassA> newObj = mapper.readValue(ionValueWithoutAnnotation, new TypeReference<ClassB<ClassA>>() {
});
ClassA content = newObj.content;
assertEquals(42, content.value);
}
use of com.fasterxml.jackson.dataformat.ion.IonObjectMapper in project jackson-dataformats-binary by FasterXML.
the class IonAnnotationTypeDeserializerWithClassNameAnnotationTest method testDeserializeAnnotatedPayload.
@Test
public void testDeserializeAnnotatedPayload() throws IOException {
IonObjectMapper mapper = constructIomWithClassNameIdResolver();
ClassB<ClassA> newObj = mapper.readValue(ionValueWithAnnotation, new TypeReference<ClassB<ClassA>>() {
});
ClassA content = newObj.content;
assertEquals(42, content.value);
}
use of com.fasterxml.jackson.dataformat.ion.IonObjectMapper in project jackson-dataformats-binary by FasterXML.
the class PolymorphicTypeAnnotationsTest method testNativeTypeIdsDisabledReadsTypeAnnotationsSuccessfully.
@Test
public void testNativeTypeIdsDisabledReadsTypeAnnotationsSuccessfully() throws IOException {
IonObjectMapper mapper = IonObjectMapper.builder().disable(Feature.USE_NATIVE_TYPE_ID).build();
Container containerWithBaseClass = mapper.readValue(CONTAINER_WITH_TYPED_OBJECT, Container.class);
Assert.assertTrue(containerWithBaseClass.objectWithType instanceof Subclass);
Assert.assertEquals(SUBCLASS_TYPE_NAME, ((Subclass) containerWithBaseClass.objectWithType).base);
}
use of com.fasterxml.jackson.dataformat.ion.IonObjectMapper in project jackson-dataformats-binary by FasterXML.
the class SerializationAnnotationsTest method testNativeTypeIdsCanBeDisabledOnWrite.
@Test
public void testNativeTypeIdsCanBeDisabledOnWrite() throws Exception {
IonObjectMapper mapper = IonObjectMapper.builderForTextualWriters().disable(IonGenerator.Feature.USE_NATIVE_TYPE_ID).build();
IonValue subclassAsIon = mapper.writeValueAsIonValue(subclass);
assertEqualIonValues(SUBCLASS_TYPED_AS_PROPERTY, subclassAsIon);
BaseClass roundTripInstance = mapper.readValue(subclassAsIon, BaseClass.class);
assertCorrectlyTypedAndFormed(subclass, roundTripInstance);
}
Aggregations