• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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