content: package com.alibaba.json.bvt.naming;
  
  import org.junit.Assert;
  
  import com.alibaba.fastjson.JSON;
  import com.alibaba.fastjson.PropertyNamingStrategy;
  import com.alibaba.fastjson.parser.ParserConfig;
  import com.alibaba.fastjson.serializer.SerializeConfig;
  
  import junit.framework.TestCase;
  
  public class NamingSerTest extends TestCase {
  
      public void test_snake() throws Exception {
          SerializeConfig config = new SerializeConfig();
          config.propertyNamingStrategy = PropertyNamingStrategy.SnakeCase;
  
          Model model = new Model();
          model.personId = 1001;
          String text = JSON.toJSONString(model, config);
          Assert.assertEquals("{\"person_id\":1001}", text);
  
          ParserConfig parserConfig = new ParserConfig();
          parserConfig.propertyNamingStrategy = PropertyNamingStrategy.SnakeCase;
          Model model2 = JSON.parseObject(text, Model.class, parserConfig);
          Assert.assertEquals(model.personId, model2.personId);
  
          Model model3 = JSON.parseObject(text, Model.class);
          Assert.assertEquals(model.personId, model3.personId);
      }
  
      public void test_kebab() throws Exception {
          SerializeConfig config = new SerializeConfig();
          config.propertyNamingStrategy = PropertyNamingStrategy.KebabCase;
  
          Model model = new Model();
          model.personId = 1001;
          String text = JSON.toJSONString(model, config);
          Assert.assertEquals("{\"person-id\":1001}", text);
          
          ParserConfig parserConfig = new ParserConfig();
          parserConfig.propertyNamingStrategy = PropertyNamingStrategy.KebabCase;
          Model model2 = JSON.parseObject(text, Model.class, parserConfig);
          Assert.assertEquals(model.personId, model2.personId);
  
          Model model3 = JSON.parseObject(text, Model.class);
          Assert.assertEquals(model.personId, model3.personId);
      }
  
      public void test_pascal() throws Exception {
          SerializeConfig config = new SerializeConfig();
          config.propertyNamingStrategy = PropertyNamingStrategy.PascalCase;
  
          Model model = new Model();
          model.personId = 1001;
          String text = JSON.toJSONString(model, config);
          Assert.assertEquals("{\"PersonId\":1001}", text);
          
          ParserConfig parserConfig = new ParserConfig();
          parserConfig.propertyNamingStrategy = PropertyNamingStrategy.PascalCase;
          Model model2 = JSON.parseObject(text, Model.class, parserConfig);
          Assert.assertEquals(model.personId, model2.personId);
  
          Model model3 = JSON.parseObject(text, Model.class);
          Assert.assertEquals(model.personId, model3.personId);
      }
  
      public void test_camel() throws Exception {
          SerializeConfig config = new SerializeConfig();
          config.propertyNamingStrategy = PropertyNamingStrategy.CamelCase;
  
          Model model = new Model();
          model.personId = 1001;
          String text = JSON.toJSONString(model, config);
          Assert.assertEquals("{\"personId\":1001}", text);
          
          ParserConfig parserConfig = new ParserConfig();
          parserConfig.propertyNamingStrategy = PropertyNamingStrategy.CamelCase;
          Model model2 = JSON.parseObject(text, Model.class, parserConfig);
          Assert.assertEquals(model.personId, model2.personId);
  
          Model model3 = JSON.parseObject(text, Model.class);
          Assert.assertEquals(model.personId, model3.personId);
      }
  
      public static class Model {
  
          public int personId;
      }
  }
  