Skip to content

Commit 2902b1c

Browse files
committed
Test refactoring
1 parent 23d8a65 commit 2902b1c

12 files changed

Lines changed: 110 additions & 120 deletions

src/test/java/tools/jackson/dataformat/xml/ser/TestSerializationAttr.java renamed to src/test/java/tools/jackson/dataformat/xml/ser/AttributeSerializationTest.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
import static org.junit.jupiter.api.Assertions.assertEquals;
1414

15-
public class TestSerializationAttr extends XmlTestUtil
15+
public class AttributeSerializationTest extends XmlTestUtil
1616
{
1717
static class NsAttrBean
1818
{
@@ -57,9 +57,9 @@ public Map<String, String> getProperties() {
5757
}
5858

5959
/*
60-
/**********************************************************
61-
/* Unit tests
62-
/**********************************************************
60+
/**********************************************************************
61+
/* Test methods
62+
/**********************************************************************
6363
*/
6464

6565
private final XmlMapper XML_MAPPER = newMapper();
@@ -99,7 +99,8 @@ public void testIssue117AnySetterAttrs() throws Exception
9999
values.put("prop1", "val1");
100100

101101
String xml = XML_MAPPER.writeValueAsString(new DynaBean(values));
102-
assertEquals("<dynaBean class=\"TestSerializationAttr$DynaBean\"><prop1>val1</prop1></dynaBean>",
102+
assertEquals("<dynaBean class=\""+
103+
getClass().getSimpleName()+"$DynaBean\"><prop1>val1</prop1></dynaBean>",
103104
removeSjsxpNamespace(xml));
104105
}
105106

src/test/java/tools/jackson/dataformat/xml/ser/Base64VariantWriteTest.java renamed to src/test/java/tools/jackson/dataformat/xml/ser/Base64VariantSerializationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
1414
import static org.junit.jupiter.api.Assertions.assertEquals;
1515

16-
public class Base64VariantWriteTest extends XmlTestUtil
16+
public class Base64VariantSerializationTest extends XmlTestUtil
1717
{
1818
public static class BinaryValue {
1919
public byte[] value;

src/test/java/tools/jackson/dataformat/xml/ser/TestSerialization.java renamed to src/test/java/tools/jackson/dataformat/xml/ser/BasicSerializationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import static org.junit.jupiter.api.Assertions.assertEquals;
1818

1919
@SuppressWarnings("serial")
20-
public class TestSerialization extends XmlTestUtil
20+
public class BasicSerializationTest extends XmlTestUtil
2121
{
2222
static class StringBean2
2323
{

src/test/java/tools/jackson/dataformat/xml/ser/TestBinaryStreamToXMLSerialization.java renamed to src/test/java/tools/jackson/dataformat/xml/ser/BinaryStreamToXmlSerializationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See <a href="https://github.com/FasterXML/jackson-dataformat-xml/issues/270">issue #270</a>
1414
* for details
1515
*/
16-
public class TestBinaryStreamToXMLSerialization extends XmlTestUtil
16+
public class BinaryStreamToXmlSerializationTest extends XmlTestUtil
1717
{
1818
private final XmlMapper MAPPER = newMapper();
1919

Lines changed: 92 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,32 @@
11
package tools.jackson.dataformat.xml.ser;
22

3-
import tools.jackson.core.JsonGenerator;
3+
import org.junit.jupiter.api.Test;
44

5+
import tools.jackson.core.JsonGenerator;
6+
import tools.jackson.core.JsonParser;
7+
import tools.jackson.core.Version;
8+
import tools.jackson.databind.DeserializationContext;
9+
import tools.jackson.databind.JsonNode;
510
import tools.jackson.databind.SerializationContext;
11+
import tools.jackson.databind.deser.std.StdDeserializer;
612
import tools.jackson.databind.module.SimpleModule;
713

814
import tools.jackson.databind.ser.std.StdScalarSerializer;
15+
import tools.jackson.databind.ser.std.StdSerializer;
916
import tools.jackson.dataformat.xml.XmlMapper;
1017
import tools.jackson.dataformat.xml.XmlTestUtil;
1118

1219
import static org.junit.jupiter.api.Assertions.assertEquals;
20+
import static org.junit.jupiter.api.Assertions.assertNotNull;
1321

14-
import org.junit.jupiter.api.Test;
22+
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
1523

1624
public class CustomSerializerTest extends XmlTestUtil
1725
{
18-
static class CustomSerializer extends StdScalarSerializer<String>
26+
// for [dataformat-xml#41]
27+
static class CustomSerializer41 extends StdScalarSerializer<String>
1928
{
20-
public CustomSerializer() { super(String.class); }
29+
public CustomSerializer41() { super(String.class); }
2130

2231
@Override
2332
public void serialize(String value, JsonGenerator g,
@@ -26,15 +35,93 @@ public void serialize(String value, JsonGenerator g,
2635
}
2736
}
2837

38+
// [dataformat-xml#42]
39+
@JsonPropertyOrder({ "name", "obj" })
40+
public static class Item42 {
41+
public String name;
42+
public Foo obj;
43+
public Item42(String name, Foo obj) {
44+
this.name = name;
45+
this.obj = obj;
46+
}
47+
}
48+
49+
public static class Foo {
50+
public String name;
51+
protected Foo() { }
52+
public Foo(String name) {
53+
this.name = name;
54+
}
55+
}
56+
57+
// [dataformat-xml#42]
58+
static class ItemDeserializer42 extends StdDeserializer<Item42> {
59+
public ItemDeserializer42() {
60+
super(Item42.class);
61+
}
62+
63+
@Override
64+
public Item42 deserialize(JsonParser p, DeserializationContext ctxt) {
65+
JsonNode json = ctxt.readTree(p);
66+
JsonNode foo = json.get("obj");
67+
if (foo == null) {
68+
throw new IllegalStateException("missing foo property");
69+
}
70+
return new Item42(json.path("name").asString(),
71+
new Foo(foo.path("name").asString()));
72+
}
73+
}
74+
75+
// [dataformat-xml#42]
76+
public class ItemSerializer42 extends StdSerializer<Item42> {
77+
public ItemSerializer42() {
78+
super(Item42.class);
79+
}
80+
81+
@Override
82+
public void serialize(Item42 value, JsonGenerator g, SerializationContext ctxt) {
83+
g.writeStartObject();
84+
g.writePOJOProperty("obj", value.obj);
85+
g.writeStringProperty("name", value.name);
86+
g.writeEndObject();
87+
}
88+
}
89+
90+
/*
91+
/**********************************************************************
92+
/* Test methods
93+
/**********************************************************************
94+
*/
95+
2996
// for [dataformat-xml#41]
3097
@Test
3198
public void testCustomSerializer()
3299
{
33100
SimpleModule module = new SimpleModule();
34-
module.addSerializer(String.class, new CustomSerializer());
101+
module.addSerializer(String.class, new CustomSerializer41());
35102
final XmlMapper mapper = XmlMapper.builder()
36103
.addModule(module)
37104
.build();
38105
assertEquals("<String>custom:foo</String>", mapper.writeValueAsString("foo"));
39106
}
107+
108+
// [dataformat-xml#42]
109+
@Test
110+
public void testCustomSerializer42() throws Exception
111+
{
112+
SimpleModule m = new SimpleModule("module", new Version(1,0,0,null,null,null));
113+
m.addSerializer(Item42.class, new ItemSerializer42());
114+
m.addDeserializer(Item42.class, new ItemDeserializer42());
115+
XmlMapper xmlMapper = XmlMapper.builder()
116+
.addModule(m)
117+
.build();
118+
Item42 value = new Item42("itemName", new Foo("fooName"));
119+
String xml = xmlMapper.writeValueAsString(value);
120+
121+
Item42 result = xmlMapper.readValue(xml, Item42.class);
122+
assertNotNull(result);
123+
assertEquals("itemName", result.name);
124+
assertNotNull(result.obj);
125+
assertEquals("fooName", result.obj.name);
126+
}
40127
}

src/test/java/tools/jackson/dataformat/xml/ser/TestJDKSerializability.java renamed to src/test/java/tools/jackson/dataformat/xml/ser/JDKSerializabilityTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
* Unit test related to core [core#31](https://github.com/FasterXML/jackson-core/issues/31)
1818
* as it relates to XmlFactory.
1919
*/
20-
public class TestJDKSerializability extends XmlTestUtil
20+
public class JDKSerializabilityTest extends XmlTestUtil
2121
{
2222
@JsonRootName("MyPojo")
2323
@JsonPropertyOrder({ "x", "y" })

src/test/java/tools/jackson/dataformat/xml/ser/TestSerializationManual.java renamed to src/test/java/tools/jackson/dataformat/xml/ser/ManualSerializationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import static org.junit.jupiter.api.Assertions.assertEquals;
1414
import static org.junit.jupiter.api.Assertions.assertTrue;
1515

16-
public class TestSerializationManual extends XmlTestUtil
16+
public class ManualSerializationTest extends XmlTestUtil
1717
{
1818
public static class Value {
1919
public int num;

src/test/java/tools/jackson/dataformat/xml/ser/TestNamespaces.java renamed to src/test/java/tools/jackson/dataformat/xml/ser/NamespaceBasicTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import static org.junit.jupiter.api.Assertions.assertEquals;
1313
import static org.junit.jupiter.api.Assertions.fail;
1414

15-
public class TestNamespaces extends XmlTestUtil
15+
public class NamespaceBasicTest extends XmlTestUtil
1616
{
1717
final static String CHILD_NS = "uri:child";
1818

src/test/java/tools/jackson/dataformat/xml/ser/TestSerializationOrdering.java renamed to src/test/java/tools/jackson/dataformat/xml/ser/SerializationOrderingTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
import static org.junit.jupiter.api.Assertions.assertEquals;
1212

13-
public class TestSerializationOrdering extends XmlTestUtil
13+
public class SerializationOrderingTest extends XmlTestUtil
1414
{
1515
@JsonPropertyOrder({"a", "c" })
1616
static class Bean91 {

src/test/java/tools/jackson/dataformat/xml/ser/TestSerializationWithFilter.java renamed to src/test/java/tools/jackson/dataformat/xml/ser/SerializationWithFilterTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
/**
2121
* Unit test for [PullRequest#616], problems with filtered serialization.
2222
*/
23-
public class TestSerializationWithFilter extends XmlTestUtil
23+
public class SerializationWithFilterTest extends XmlTestUtil
2424
{
2525
@JsonFilter("filter")
2626
@JsonPropertyOrder({ "b", "c" })

0 commit comments

Comments
 (0)