package com.alibaba.json.bvt.bug;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import junit.framework.TestCase;
import java.util.List;
/**
* Created by wenshao on 09/12/2016.
*/
public class Issue943 extends TestCase {
public void test_for_issue() throws Exception {
String text = "{\n" +
"\t\"symbols\":[\n" +
"\t {\"id\":1,\"type\":\"SCATTER\"},\n" +
"\t {\"id\":2,\"type\":\"BONUS\"}\n" +
"\t]\n" +
"}";
JSONObject root = JSON.parseObject(text);
JSONArray symbols = root.getJSONArray("symbols");
assertNotNull(symbols);
assertEquals(2, symbols.size());
assertEquals(1, symbols.getJSONObject(0).get("id"));
assertEquals("SCATTER", symbols.getJSONObject(0).get("type"));
assertEquals(2, symbols.getJSONObject(1).get("id"));
assertEquals("BONUS", symbols.getJSONObject(1).get("type"));
SlotConfig slotConfig = JSON.parseObject(text, SlotConfig.class);
assertNotNull(slotConfig);
assertEquals(2, slotConfig.symbols.size());
assertEquals(1, slotConfig.symbols.get(0).getId());
assertEquals(SymbolType.SCATTER, slotConfig.symbols.get(0).getType());
assertEquals(2, slotConfig.symbols.get(1).getId());
assertEquals(SymbolType.BONUS, slotConfig.symbols.get(1).getType());
}
private static class SlotConfig {
private List<Symbol> symbols;
public List<Symbol> getSymbols() {
return symbols;
}
public void setSymbols(List<Symbol> symbols) {
this.symbols = symbols;
}
}
private static class Symbol {
private int id;
private SymbolType type;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public SymbolType getType() {
return type;
}
public void setType(SymbolType type) {
this.type = type;
}
}
enum SymbolType {
NORMAL, WILD, SCATTER, BONUS
}
}