/src/test/java/com/alibaba/json/bvt/issue_3600/Issue3655.java

https://github.com/alibaba/fastjson · Java · 164 lines · 129 code · 35 blank · 0 comment · 0 complexity · 7a5efc53bc9f43270d9baa1b1c1d49b9 MD5 · raw file

  1. package com.alibaba.json.bvt.issue_3600;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.serializer.SerializerFeature;
  4. import lombok.AllArgsConstructor;
  5. import lombok.Getter;
  6. import lombok.Setter;
  7. import org.junit.Assert;
  8. import org.junit.Test;
  9. public class Issue3655 {
  10. private final static String jsonStr =
  11. "{\"data\":\"\",\"data2\":\"\",\"data3\":\"\",\"data4\":\"\",\"data5\":\"\",\"data6\":\"\",\"data7\":\"\",\"data8\":\"\",\"data9\":\"\"}";
  12. @Test
  13. public void test_inherit_from_abstract_class_1() {
  14. issue3655_b b = new issue3655_b(null, null, null, null, null, null, null, null, null);
  15. String result = JSON.toJSONString(b, SerializerFeature.WriteNullStringAsEmpty);
  16. System.out.println(result);
  17. Assert.assertEquals(jsonStr, result);
  18. }
  19. @Test
  20. public void test_inherit_from_abstract_class_2() {
  21. issue3655_c c = new issue3655_c(null, null, null, null, null, null, null, null, null);
  22. String result = JSON.toJSONString(c, SerializerFeature.WriteNullStringAsEmpty);
  23. System.out.println(result);
  24. Assert.assertEquals(jsonStr, result);
  25. }
  26. public static class issue3655_b extends issue3655_a {
  27. private String data;
  28. private String data2;
  29. private String data3;
  30. private String data4;
  31. private String data5;
  32. private String data6;
  33. private String data7;
  34. private String data8;
  35. private String data9;
  36. public String getData() {
  37. return data;
  38. }
  39. public String getData2() {
  40. return data2;
  41. }
  42. public String getData3() {
  43. return data3;
  44. }
  45. public String getData4() {
  46. return data4;
  47. }
  48. public String getData5() {
  49. return data5;
  50. }
  51. public String getData6() {
  52. return data6;
  53. }
  54. public String getData7() {
  55. return data7;
  56. }
  57. public String getData8() {
  58. return data8;
  59. }
  60. public String getData9() {
  61. return data9;
  62. }
  63. public void setData(String data) {
  64. this.data = data;
  65. }
  66. public void setData2(String data2) {
  67. this.data2 = data2;
  68. }
  69. public void setData3(String data3) {
  70. this.data3 = data3;
  71. }
  72. public void setData4(String data4) {
  73. this.data4 = data4;
  74. }
  75. public void setData5(String data5) {
  76. this.data5 = data5;
  77. }
  78. public void setData6(String data6) {
  79. this.data6 = data6;
  80. }
  81. public void setData7(String data7) {
  82. this.data7 = data7;
  83. }
  84. public void setData8(String data8) {
  85. this.data8 = data8;
  86. }
  87. public void setData9(String data9) {
  88. this.data9 = data9;
  89. }
  90. public issue3655_b(
  91. String data, String data2, String data3, String data4, String data5,
  92. String data6, String data7, String data8, String data9) {
  93. this.data = data;
  94. this.data2 = data2;
  95. this.data3 = data3;
  96. this.data4 = data4;
  97. this.data5 = data5;
  98. this.data6 = data6;
  99. this.data7 = data7;
  100. this.data8 = data8;
  101. this.data9 = data9;
  102. }
  103. }
  104. @Getter
  105. @Setter
  106. @AllArgsConstructor
  107. public static class issue3655_c extends issue3655_a {
  108. private String data;
  109. private String data2;
  110. private String data3;
  111. private String data4;
  112. private String data5;
  113. private String data6;
  114. private String data7;
  115. private String data8;
  116. private String data9;
  117. }
  118. public static abstract class issue3655_a {
  119. public abstract Object getData();
  120. public abstract Object getData2();
  121. public abstract Object getData3();
  122. public abstract Object getData4();
  123. public abstract Object getData5();
  124. public abstract Object getData6();
  125. public abstract Object getData7();
  126. public abstract Object getData8();
  127. public abstract Object getData9();
  128. }
  129. }