1 package com.fasterxml.jackson.databind.big; 2 3 import java.util.*; 4 5 import com.fasterxml.jackson.databind.*; 6 7 public class TestBiggerData extends BaseMapTest 8 { 9 static class Citm 10 { 11 public Map<Integer,String> areaNames; 12 public Map<Integer,String> audienceSubCategoryNames; 13 public Map<Integer,String> blockNames; 14 public Map<Integer,String> seatCategoryNames; 15 public Map<Integer,String> subTopicNames; 16 public Map<Integer,String> subjectNames; 17 public Map<Integer,String> topicNames; 18 public Map<Integer,int[]> topicSubTopics; 19 public Map<String,String> venueNames; 20 21 public Map<Integer,Event> events; 22 public List<Performance> performances; 23 } 24 25 static class Event 26 { 27 public int id; 28 public String name; 29 public String description; 30 public String subtitle; 31 public String logo; 32 public int subjectCode; 33 public int[] topicIds; 34 public LinkedHashSet<Integer> subTopicIds; 35 } 36 37 static class Performance 38 { 39 public int id; 40 public int eventId; 41 public String name; 42 public String description; 43 public String logo; 44 45 public List<Price> prices; 46 public List<SeatCategory> seatCategories; 47 48 public long start; 49 public String seatMapImage; 50 public String venueCode; 51 } 52 53 static class Price { 54 public int amount; 55 public int audienceSubCategoryId; 56 public int seatCategoryId; 57 } 58 59 static class SeatCategory { 60 public int seatCategoryId; 61 public List<Area> areas; 62 } 63 64 static class Area { 65 public int areaId; 66 public int[] blockIds; 67 } 68 69 /* 70 /********************************************************** 71 /* Test methods 72 /********************************************************** 73 */ 74 75 private final ObjectMapper MAPPER = newJsonMapper(); 76 testReading()77 public void testReading() throws Exception 78 { 79 Citm citm = MAPPER.readValue(getClass().getResourceAsStream("/data/citm_catalog.json"), 80 Citm.class); 81 assertNotNull(citm); 82 assertNotNull(citm.areaNames); 83 assertEquals(17, citm.areaNames.size()); 84 assertNotNull(citm.events); 85 assertEquals(184, citm.events.size()); 86 87 assertNotNull(citm.seatCategoryNames); 88 assertEquals(64, citm.seatCategoryNames.size()); 89 assertNotNull(citm.subTopicNames); 90 assertEquals(19, citm.subTopicNames.size()); 91 assertNotNull(citm.subjectNames); 92 assertEquals(0, citm.subjectNames.size()); 93 assertNotNull(citm.topicNames); 94 assertEquals(4, citm.topicNames.size()); 95 assertNotNull(citm.topicSubTopics); 96 assertEquals(4, citm.topicSubTopics.size()); 97 assertNotNull(citm.venueNames); 98 assertEquals(1, citm.venueNames.size()); 99 } 100 testRoundTrip()101 public void testRoundTrip() throws Exception 102 { 103 Citm citm = MAPPER.readValue(getClass().getResourceAsStream("/data/citm_catalog.json"), 104 Citm.class); 105 106 ObjectWriter w = MAPPER.writerWithDefaultPrettyPrinter(); 107 108 String json1 = w.writeValueAsString(citm); 109 Citm citm2 = MAPPER.readValue(json1, Citm.class); 110 String json2 = w.writeValueAsString(citm2); 111 112 assertEquals(json1, json2); 113 } 114 } 115