/* * 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.client.advanced.jsontype; import com.github.nmorel.gwtjackson.client.GwtJacksonTestCase; import com.github.nmorel.gwtjackson.client.JsonDeserializationContext; import com.github.nmorel.gwtjackson.client.ObjectMapper; import com.github.nmorel.gwtjackson.shared.ObjectMapperTester; import com.github.nmorel.gwtjackson.shared.advanced.jsontype.PolymorphismNoTypeInfoTester; import com.github.nmorel.gwtjackson.shared.advanced.jsontype.PolymorphismNoTypeInfoTester.Employee; import com.github.nmorel.gwtjackson.shared.advanced.jsontype.PolymorphismNoTypeInfoTester.Person; import com.google.gwt.core.client.GWT; /** * @author Nicolas Morel */ public class PolymorphismNoTypeInfoGwtTest extends GwtJacksonTestCase { public interface PolymorphismPersonMapper extends ObjectMapper<Person[]>, ObjectMapperTester<Person[]> { static PolymorphismPersonMapper INSTANCE = GWT.create( PolymorphismPersonMapper.class ); } public interface PolymorphismEmployeeMapper extends ObjectMapper<Employee[]> { static PolymorphismEmployeeMapper INSTANCE = GWT.create( PolymorphismEmployeeMapper.class ); } private PolymorphismNoTypeInfoTester tester = PolymorphismNoTypeInfoTester.INSTANCE; public void testSerialize() { tester.testSerialize( PolymorphismPersonMapper.INSTANCE ); } public void testDeserializeNonInstantiableBean() { tester.testDeserializeNonInstantiableBean( PolymorphismPersonMapper.INSTANCE ); } public void testDeserializeInstantiableBean() { tester.testDeserializeInstantiableBean( createMapper( PolymorphismEmployeeMapper.INSTANCE, JsonDeserializationContext.builder() .failOnUnknownProperties( false ).build(), newDefaultSerializationContext() ) ); } }