/* * Copyright 2013 Nicolas Morel * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.github.nmorel.gwtjackson.jackson.annotations; import com.github.nmorel.gwtjackson.jackson.AbstractJacksonTest; import com.github.nmorel.gwtjackson.shared.annotations.JsonCreatorTester; import org.junit.Ignore; import org.junit.Test; /** * @author Nicolas Morel */ public class JsonCreatorJacksonTest extends AbstractJacksonTest { @Test public void testSerializeBeanWithDefaultConstructorPrivate() { JsonCreatorTester.INSTANCE .testSerializeBeanWithDefaultConstructorPrivate( createWriter( JsonCreatorTester.BeanWithDefaultConstructorPrivate.class ) ); } @Test public void testDeserializeBeanWithDefaultConstructorPrivate() { JsonCreatorTester.INSTANCE .testDeserializeBeanWithDefaultConstructorPrivate( createReader( JsonCreatorTester.BeanWithDefaultConstructorPrivate .class ) ); } @Test public void testSerializeBeanWithoutDefaultConstructorAndNoAnnotation() { JsonCreatorTester.INSTANCE .testSerializeBeanWithoutDefaultConstructorAndNoAnnotation( createWriter( JsonCreatorTester .BeanWithoutDefaultConstructorAndNoAnnotation.class ) ); } @Test public void testDeserializeBeanWithoutDefaultConstructorAndNoAnnotation() { JsonCreatorTester.INSTANCE .testDeserializeBeanWithoutDefaultConstructorAndNoAnnotation( createReader( JsonCreatorTester .BeanWithoutDefaultConstructorAndNoAnnotation.class ) ); } @Test public void testSerializeBeanWithoutDefaultConstructorAndPropertiesAnnotation() { JsonCreatorTester.INSTANCE .testSerializeBeanWithoutDefaultConstructorAndPropertiesAnnotation( createWriter( JsonCreatorTester .BeanWithoutDefaultConstructorAndPropertiesAnnotation.class ) ); } @Test public void testDeserializeBeanWithoutDefaultConstructorAndPropertiesAnnotation() { JsonCreatorTester.INSTANCE .testDeserializeBeanWithoutDefaultConstructorAndPropertiesAnnotation( createReader( JsonCreatorTester .BeanWithoutDefaultConstructorAndPropertiesAnnotation.class ) ); } @Test @Ignore( "jackson doesn't support it yet" ) public void testDeserializeBeanWithMissingRequiredPropertyInCreator() { JsonCreatorTester.INSTANCE .testDeserializeBeanWithMissingRequiredPropertyInCreator( createReader( JsonCreatorTester .BeanWithoutDefaultConstructorAndPropertiesAnnotation.class ) ); } @Test public void testSerializeBeanWithConstructorAnnotated() { JsonCreatorTester.INSTANCE .testSerializeBeanWithConstructorAnnotated( createWriter( JsonCreatorTester.BeanWithConstructorAnnotated.class ) ); } @Test public void testDeserializeBeanWithConstructorAnnotated() { JsonCreatorTester.INSTANCE .testDeserializeBeanWithConstructorAnnotated( createReader( JsonCreatorTester.BeanWithConstructorAnnotated.class ) ); } @Test public void testSerializeBeanWithFactoryMethod() { JsonCreatorTester.INSTANCE.testSerializeBeanWithFactoryMethod( createWriter( JsonCreatorTester.BeanWithFactoryMethod.class ) ); } @Test public void testDeserializeBeanWithFactoryMethod() { JsonCreatorTester.INSTANCE.testDeserializeBeanWithFactoryMethod( createReader( JsonCreatorTester.BeanWithFactoryMethod.class ) ); } @Test public void testSerializeBeanWithPrivateFactoryMethod() { JsonCreatorTester.INSTANCE .testSerializeBeanWithPrivateFactoryMethod( createWriter( JsonCreatorTester.BeanWithPrivateFactoryMethod.class ) ); } @Test public void testDeserializeBeanWithPrivateFactoryMethod() { JsonCreatorTester.INSTANCE .testDeserializeBeanWithPrivateFactoryMethod( createReader( JsonCreatorTester.BeanWithPrivateFactoryMethod.class ) ); } @Test public void testSerializeBeanWithPropertiesOnlyPresentOnConstructor() { JsonCreatorTester.INSTANCE .testSerializeBeanWithPropertiesOnlyPresentOnConstructor( createWriter( JsonCreatorTester .BeanWithPropertiesOnlyPresentOnConstructor.class ) ); } @Test public void testDeserializeBeanWithPropertiesOnlyPresentOnConstructor() { JsonCreatorTester.INSTANCE .testDeserializeBeanWithPropertiesOnlyPresentOnConstructor( createReader( JsonCreatorTester .BeanWithPropertiesOnlyPresentOnConstructor.class ) ); } @Test public void testDeserializeBeanWithBooleanFactoryDelegation() { JsonCreatorTester.INSTANCE .testDeserializeBeanWithBooleanFactoryDelegation( createReader( JsonCreatorTester.BeanWithBooleanFactoryDelegation.class ) ); } @Test public void testDeserializeBeanWithBooleanConstructorDelegation() { JsonCreatorTester.INSTANCE .testDeserializeBeanWithBooleanConstructorDelegation( createReader( JsonCreatorTester .BeanWithBooleanConstructorDelegation.class ) ); } @Test public void testBeanWithBooleanConstructorDelegationAndTypeInfo() { JsonCreatorTester.INSTANCE .testBeanWithBooleanConstructorDelegationAndTypeInfo( createMapper( JsonCreatorTester .BeanWithBooleanConstructorDelegationAndTypeInfo.class ) ); } @Test public void testDeserializeBeanWithObjectConstructorDelegation() { JsonCreatorTester.INSTANCE .testDeserializeBeanWithObjectConstructorDelegation( createReader( JsonCreatorTester.BeanWithObjectConstructorDelegation .class ) ); } @Test @Ignore( "jackson put LinkedHashMap as type information ?!?" ) public void testBeanWithMapConstructorDelegationAndTypeInfo() { JsonCreatorTester.INSTANCE .testBeanWithMapConstructorDelegationAndTypeInfo( createMapper( JsonCreatorTester .BeanWithMapConstructorDelegationAndTypeInfo.class ) ); } @Test public void testDeserializeAbstractBeanWithFactoryMethod() { JsonCreatorTester.INSTANCE .testDeserializeAbstractBeanWithFactoryMethod( createReader( JsonCreatorTester.AbstractBeanWithFactoryMethod.class ) ); } }