• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.fasterxml.jackson.failing;
2 
3 import java.util.*;
4 
5 import com.fasterxml.jackson.annotation.JsonFormat;
6 import com.fasterxml.jackson.databind.*;
7 
8 // for [databind#1419]
9 public class MapEntryFormat1419Test extends BaseMapTest
10 {
11     static class BeanWithMapEntryAsObject {
12         @JsonFormat(shape=JsonFormat.Shape.OBJECT)
13         public Map.Entry<String,String> entry;
14 
BeanWithMapEntryAsObject()15         protected BeanWithMapEntryAsObject() { }
BeanWithMapEntryAsObject(String key, String value)16         public BeanWithMapEntryAsObject(String key, String value) {
17             Map<String,String> map = new HashMap<>();
18             map.put(key, value);
19             entry = map.entrySet().iterator().next();
20         }
21     }
22 
23     /*
24     /**********************************************************
25     /* Test methods
26     /**********************************************************
27      */
28 
29     private final ObjectMapper MAPPER = new ObjectMapper();
30 
testWrappedAsObjectRoundtrip()31     public void testWrappedAsObjectRoundtrip() throws Exception
32     {
33         BeanWithMapEntryAsObject input = new BeanWithMapEntryAsObject("foo" ,"bar");
34         String json = MAPPER.writeValueAsString(input);
35         assertEquals(aposToQuotes("{'entry':{'key':'foo','value':'bar'}}"), json);
36         BeanWithMapEntryAsObject result = MAPPER.readValue(json, BeanWithMapEntryAsObject.class);
37         assertEquals("foo", result.entry.getKey());
38         assertEquals("bar", result.entry.getValue());
39     }
40 }
41