package com.alibaba.json.bvt.parser.deser; import java.util.concurrent.TimeUnit; import org.junit.Assert; import junit.framework.TestCase; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONException; public class EnumTest extends TestCase { public void test_enum() throws Exception { Assert.assertNull(JSON.parseObject("''", TimeUnit.class)); } public void test_enum_1() throws Exception { Assert.assertEquals(E.A, JSON.parseObject("0", E.class)); } public void test_enum_3() throws Exception { Assert.assertEquals(E.A, JSON.parseObject("{value:0}", Entity.class).getValue()); } public void test_enum_2() throws Exception { Assert.assertEquals(E.A, JSON.parseObject("'A'", E.class)); } public void test_enum_error() throws Exception { Exception error = null; try { JSON.parseObject("'123'", TimeUnit.class); } catch (JSONException ex) { error = ex; } Assert.assertNotNull(error); } public void test_enum_error_2() throws Exception { Exception error = null; try { JSON.parseObject("12.3", TimeUnit.class); } catch (JSONException ex) { error = ex; } Assert.assertNotNull(error); } public static enum E { A, B, C } public static class Entity { private E value; public Entity(){ } public Entity(E value){ super(); this.value = value; } public E getValue() { return value; } public void setValue(E value) { this.value = value; } } }