content: package com.alibaba.json.bvt.parser;
  
  import java.text.SimpleDateFormat;
  import java.util.Date;
  import java.util.Locale;
  import java.util.TimeZone;
  
  import junit.framework.TestCase;
  
  import org.junit.Assert;
  
  import com.alibaba.fastjson.JSON;
  import com.alibaba.fastjson.util.TypeUtils;
  
  public class TypeUtilsTest_castToDate extends TestCase {
      protected void setUp() throws Exception {
          JSON.defaultTimeZone = TimeZone.getTimeZone("Asia/Shanghai");
          JSON.defaultLocale = Locale.CHINA;
      }
      
      public void test_castToDate() throws Exception {
          JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS";
          Date date = TypeUtils.castToDate("2012-07-15 12:12:11");
          
          SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
          format.setTimeZone(JSON.defaultTimeZone);
          Assert.assertEquals(format.parseObject("2012-07-15 12:12:11"), date);
          JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
      }
  
      public void test_castToDate_error() throws Exception {
          Exception error = null;
          try {
              TypeUtils.castToDate("你妈你妈-MM-dd");
          } catch (Exception ex) {
              error = ex;
          }
          Assert.assertNotNull(error);
      }
  
      public void test_castToDate_zero() throws Exception {
          Assert.assertEquals(new Date(0), TypeUtils.castToDate("0"));
      }
  
      public void test_castToDate_negative() throws Exception {
          Assert.assertEquals(new Date(-1), TypeUtils.castToDate(-1));
      }
  
  }
  