package com.fasterxml.jackson.databind.big;
import java.util.*;
import com.fasterxml.jackson.databind.*;
public class TestBiggerData extends BaseMapTest
{
static class Citm
{
public Map<Integer,String> areaNames;
public Map<Integer,String> audienceSubCategoryNames;
public Map<Integer,String> blockNames;
public Map<Integer,String> seatCategoryNames;
public Map<Integer,String> subTopicNames;
public Map<Integer,String> subjectNames;
public Map<Integer,String> topicNames;
public Map<Integer,int[]> topicSubTopics;
public Map<String,String> venueNames;
public Map<Integer,Event> events;
public List<Performance> performances;
}
static class Event
{
public int id;
public String name;
public String description;
public String subtitle;
public String logo;
public int subjectCode;
public int[] topicIds;
public LinkedHashSet<Integer> subTopicIds;
}
static class Performance
{
public int id;
public int eventId;
public String name;
public String description;
public String logo;
public List<Price> prices;
public List<SeatCategory> seatCategories;
public long start;
public String seatMapImage;
public String venueCode;
}
static class Price {
public int amount;
public int audienceSubCategoryId;
public int seatCategoryId;
}
static class SeatCategory {
public int seatCategoryId;
public List<Area> areas;
}
static class Area {
public int areaId;
public int[] blockIds;
}
/*
/**********************************************************
/* Test methods
/**********************************************************
*/
public void testReading() throws Exception
{
ObjectMapper mapper = objectMapper();
Citm citm = mapper.readValue(getClass().getResourceAsStream("/data/citm_catalog.json"),
Citm.class);
assertNotNull(citm);
assertNotNull(citm.areaNames);
assertEquals(17, citm.areaNames.size());
assertNotNull(citm.events);
assertEquals(184, citm.events.size());
assertNotNull(citm.seatCategoryNames);
assertEquals(64, citm.seatCategoryNames.size());
assertNotNull(citm.subTopicNames);
assertEquals(19, citm.subTopicNames.size());
assertNotNull(citm.subjectNames);
assertEquals(0, citm.subjectNames.size());
assertNotNull(citm.topicNames);
assertEquals(4, citm.topicNames.size());
assertNotNull(citm.topicSubTopics);
assertEquals(4, citm.topicSubTopics.size());
assertNotNull(citm.venueNames);
assertEquals(1, citm.venueNames.size());
}
public void testRoundTrip() throws Exception
{
ObjectMapper mapper = objectMapper();
Citm citm = mapper.readValue(getClass().getResourceAsStream("/data/citm_catalog.json"),
Citm.class);
ObjectWriter w = mapper.writerWithDefaultPrettyPrinter();
String json1 = w.writeValueAsString(citm);
Citm citm2 = mapper.readValue(json1, Citm.class);
String json2 = w.writeValueAsString(citm2);
assertEquals(json1, json2);
}
}