package com.alibaba.json.bvt.bug;
import java.util.EnumSet;
import java.util.concurrent.TimeUnit;
import org.junit.Assert;
import com.alibaba.fastjson.JSON;
import junit.framework.TestCase;
public class Bug_for_issue_268 extends TestCase {
public void test_for_issue() throws Exception {
V1 vo = new V1();
vo.units = EnumSet.of(TimeUnit.DAYS, TimeUnit.HOURS);
String text = JSON.toJSONString(vo);
Assert.assertEquals("{\"units\":[\"HOURS\",\"DAYS\"]}", text);
V1 vo1 = JSON.parseObject(text, V1.class);
Assert.assertNotNull(vo1);
Assert.assertEquals(vo.units, vo1.units);
}
public void test_for_issue_private() throws Exception {
VO vo = new VO();
vo.units = EnumSet.of(TimeUnit.DAYS, TimeUnit.HOURS);
String text = JSON.toJSONString(vo);
Assert.assertEquals("{\"units\":[\"HOURS\",\"DAYS\"]}", text);
VO vo1 = JSON.parseObject(text, VO.class);
Assert.assertNotNull(vo1);
Assert.assertEquals(vo.units, vo1.units);
}
private static class VO {
private EnumSet<TimeUnit> units;
public EnumSet<TimeUnit> getUnits() {
return units;
}
public void setUnits(EnumSet<TimeUnit> units) {
this.units = units;
}
}
public static class V1 {
private EnumSet<TimeUnit> units;
public EnumSet<TimeUnit> getUnits() {
return units;
}
public void setUnits(EnumSet<TimeUnit> units) {
this.units = units;
}
}
}