blob: 52f33508e49de2c0ea0e30c14f5629cba3c34e9c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
package com.fasterxml.jackson.databind.ser;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.cfg.SerializationConfig;
import com.fasterxml.jackson.databind.ser.BeanSerializerFactory;
public class TestSerializerProvider
extends com.fasterxml.jackson.databind.BaseMapTest
{
static class MyBean {
public int getX() { return 3; }
}
public void testFindExplicit() throws JsonMappingException
{
ObjectMapper mapper = new ObjectMapper();
SerializationConfig config = mapper.getSerializationConfig();
SerializerFactory f = new BeanSerializerFactory(null);
SerializerProvider prov = new SerializerProvider.Impl().createInstance(config, f);
// Should have working default key and null key serializers
assertNotNull(prov.findKeySerializer(null, null));
assertNotNull(prov.getDefaultNullKeySerializer());
assertNotNull(prov.getDefaultNullValueSerializer());
// as well as 'unknown type' one (throws exception)
assertNotNull(prov.getUnknownTypeSerializer(getClass()));
assertTrue(prov.createInstance(config, f).hasSerializerFor(String.class));
// call twice to verify it'll be cached (second code path)
assertTrue(prov.createInstance(config, f).hasSerializerFor(String.class));
assertTrue(prov.createInstance(config, f).hasSerializerFor(MyBean.class));
assertTrue(prov.createInstance(config, f).hasSerializerFor(MyBean.class));
}
}
|