From 8bdc57ba8975d851fe91edc908761aacea624766 Mon Sep 17 00:00:00 2001 From: Oliver Gierke Date: Thu, 25 Jun 2015 16:09:04 +0200 Subject: [PATCH] #360 - Improved test cases for TypeConstrainedHttpMessageConverter. --- ...gJackson2HttpMessageConverterUnitTest.java | 45 +++++++++---------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/src/test/java/org/springframework/hateoas/mvc/TypeConstrainedMappingJackson2HttpMessageConverterUnitTest.java b/src/test/java/org/springframework/hateoas/mvc/TypeConstrainedMappingJackson2HttpMessageConverterUnitTest.java index 5c3698ff..df1aab34 100644 --- a/src/test/java/org/springframework/hateoas/mvc/TypeConstrainedMappingJackson2HttpMessageConverterUnitTest.java +++ b/src/test/java/org/springframework/hateoas/mvc/TypeConstrainedMappingJackson2HttpMessageConverterUnitTest.java @@ -17,13 +17,12 @@ package org.springframework.hateoas.mvc; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; +import static org.springframework.http.MediaType.*; import org.junit.Test; import org.springframework.hateoas.Resource; import org.springframework.hateoas.ResourceSupport; -import org.springframework.http.MediaType; import org.springframework.http.converter.GenericHttpMessageConverter; -import org.springframework.http.converter.HttpMessageConverter; /** * Unit tests for {@link TypeConstrainedMappingJackson2HttpMessageConverter}. @@ -41,42 +40,42 @@ public class TypeConstrainedMappingJackson2HttpMessageConverterUnitTest { } /** - * @see #219 + * @see #219, #360 */ @Test public void canReadTypeIfAssignableToConfiguredType() { - HttpMessageConverter converter = new TypeConstrainedMappingJackson2HttpMessageConverter( + GenericHttpMessageConverter converter = new TypeConstrainedMappingJackson2HttpMessageConverter( ResourceSupport.class); - assertThat(converter.canRead(Object.class, MediaType.APPLICATION_JSON), is(false)); - assertThat(converter.canRead(ResourceSupport.class, MediaType.APPLICATION_JSON), is(true)); - assertThat(converter.canRead(Resource.class, MediaType.APPLICATION_JSON), is(true)); + assertCanRead(converter, Object.class, false); + assertCanRead(converter, ResourceSupport.class, true); + assertCanRead(converter, Resource.class, true); } /** - * @see #219 + * @see #219, #360 */ @Test public void canWriteTypeIfAssignableToConfiguredType() { - HttpMessageConverter converter = new TypeConstrainedMappingJackson2HttpMessageConverter( - ResourceSupport.class); - - assertThat(converter.canWrite(Object.class, MediaType.APPLICATION_JSON), is(false)); - assertThat(converter.canWrite(ResourceSupport.class, MediaType.APPLICATION_JSON), is(true)); - assertThat(converter.canWrite(Resource.class, MediaType.APPLICATION_JSON), is(true)); - } - - /** - * @see #360 - */ - @Test - public void doesNotSupportAnythingButTheConfiguredClassForCanReadWithContextClass() { - GenericHttpMessageConverter converter = new TypeConstrainedMappingJackson2HttpMessageConverter( ResourceSupport.class); - assertThat(converter.canRead(String.class, Object.class, MediaType.APPLICATION_JSON), is(false)); + assertCanWrite(converter, Object.class, false); + assertCanWrite(converter, ResourceSupport.class, true); + assertCanWrite(converter, Resource.class, true); + } + + private static void assertCanRead(GenericHttpMessageConverter converter, Class type, boolean expected) { + + assertThat(converter.canRead(type, APPLICATION_JSON), is(expected)); + assertThat(converter.canRead(type, type, APPLICATION_JSON), is(expected)); + } + + private static void assertCanWrite(GenericHttpMessageConverter converter, Class type, boolean expected) { + + assertThat(converter.canWrite(type, APPLICATION_JSON), is(expected)); + assertThat(converter.canWrite(type, type, APPLICATION_JSON), is(expected)); } }