@@ -0,0 +1,1219 @@
+package com.alibaba.json.bvt.bug;%0A%0Aimport java.math.BigDecimal;%0Aimport java.util.Currency;%0A%0Aimport org.junit.Assert;%0A%0Aimport com.alibaba.fastjson.JSON;%0Aimport com.alibaba.fastjson.JSONObject;%0A%0Aimport junit.framework.TestCase;%0A%0Apublic class Bug_for_issue_349 extends TestCase %7B%0A    public void test_for_issue() throws Exception %7B%0A        Money money = new Money();%0A        money.currency = Currency.getInstance(%22CNY%22);%0A        money.amount = new BigDecimal(%2210.03%22);%0A%0A        String json = JSON.toJSONString(money);%0A%0A        Money moneyBack = JSON.parseObject(json, Money.class);%0A        Assert.assertEquals(money.currency, moneyBack.currency);%0A        Assert.assertEquals(money.amount, moneyBack.amount);%0A%0A        JSONObject jsonObject = JSON.parseObject(json);%0A        Money moneyCast = JSON.toJavaObject(jsonObject, Money.class);%0A        Assert.assertEquals(money.currency, moneyCast.currency);%0A        Assert.assertEquals(money.amount, moneyCast.amount);%0A    %7D%0A    %0A    public static class Money %7B%0A        public Currency currency;%0A        public BigDecimal amount;%0A%0A        @Override%0A        public String toString() %7B%0A            return %22Money%7Bcurrency=%22 + currency + %22, amount=%22 + amount + '%7D';%0A        %7D%0A    %7D%0A%7D%0A

add testcase for issue 349. https://github.com/alibaba/fastjson/issues/349