@Test
public void shouldBeAbleToDeserializeACatNamedDifferently() throws Exception {

	InputStream stream = new ByteArrayInputStream("{\"wrong\":{\"name\": \"Samantha\", \"age\": 2}}".getBytes());
	when(provider.parameterNamesFor(roll.getMethod())).thenReturn(new String[] {"wrong"});
	Object[] deserialized = deserializer.deserialize(stream, roll);
	assertThat(deserialized.length, is(1));
	assertThat(deserialized[0], is(instanceOf(Cat.class)));
	Cat cat = (Cat) deserialized[0];
	assertThat(cat.name, is("Samantha"));
	assertThat(cat.age, is(2));
}