package com.alibaba.json.bvt.issue_2100;

import com.alibaba.fastjson.JSON;
import junit.framework.TestCase;

import java.text.SimpleDateFormat;
import java.util.Locale;
import java.util.TimeZone;

public class Issue2156 extends TestCase {
    protected void setUp() throws Exception {
        JSON.defaultTimeZone = TimeZone.getTimeZone("Asia/Shanghai");
        JSON.defaultLocale = Locale.CHINA;
    }

    public void test_for_issue() throws Exception {
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
        sf.setTimeZone(JSON.defaultTimeZone);
        java.sql.Date date = new java.sql.Date(sf.parse("2018-07-15").getTime());
        String str = JSON.toJSONStringWithDateFormat(date, JSON.DEFFAULT_DATE_FORMAT);
        assertEquals("\"2018-07-15\"", str);
    }

    public void test_for_issue1() throws Exception {
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
        sf.setTimeZone(JSON.defaultTimeZone);
        java.sql.Date date = new java.sql.Date(sf.parse("2018-07-15").getTime());
        String str = JSON.toJSONStringWithDateFormat(date, JSON.DEFFAULT_DATE_FORMAT);
        assertEquals("\"2018-07-15\"", str);
    }

    public void test_for_issue2() throws Exception {
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
        sf.setTimeZone(JSON.defaultTimeZone);
        java.sql.Date date = java.sql.Date.valueOf("2018-07-15");
        String str = JSON.toJSONStringWithDateFormat(date, JSON.DEFFAULT_DATE_FORMAT);
        assertEquals("\"2018-07-15\"", str);
    }

    public void test_for_issue_time() throws Exception {
        java.sql.Time date = java.sql.Time.valueOf("12:13:14");
        String str = JSON.toJSONStringWithDateFormat(date, JSON.DEFFAULT_DATE_FORMAT);
        assertEquals("\"12:13:14\"", str);
    }
}

@@ -775,33 +775,37 @@
 %22%22, str);%0A    %7D%0A
-%0A
+//%0A//
     public void 
@@ -833,32 +833,34 @@
 ows Exception %7B%0A
+//
         SimpleDa
@@ -901,32 +901,34 @@
 (%22yyyy-MM-dd%22);%0A
+//
         sf.setTi
@@ -949,32 +949,34 @@
 faultTimeZone);%0A
+//
         java.sql
@@ -1033,32 +1033,34 @@
 5%22).getTime());%0A
+//
         String s
@@ -1122,32 +1122,34 @@
 T_DATE_FORMAT);%0A
+//
         assertEq
@@ -1169,39 +1169,45 @@
 07-15%5C%22%22, str);%0A
+//
     %7D%0A
-%0A
+//%0A//
     public void 
@@ -1235,32 +1235,34 @@
 ows Exception %7B%0A
+//
         SimpleDa
@@ -1303,32 +1303,34 @@
 (%22yyyy-MM-dd%22);%0A
+//
         sf.setTi
@@ -1351,32 +1351,34 @@
 faultTimeZone);%0A
+//
         java.sql
@@ -1423,24 +1423,26 @@
 18-07-15%22);%0A
+//
         Stri
@@ -1508,32 +1508,34 @@
 T_DATE_FORMAT);%0A
+//
         assertEq
@@ -1559,24 +1559,26 @@
 5%5C%22%22, str);%0A
+//
     %7D%0A%0A    p

fix testcase