Skip to content

Commit 5786837

Browse files
committed
added failing test
1 parent 632cd2a commit 5786837

File tree

1 file changed

+193
-0
lines changed
  • libraryBuilds/com.fasterxml.jackson.core/com.fasterxml.jackson.core-jackson-databind/src/test/java/com/github/j2objccontrib/j2objcgradle/failing

1 file changed

+193
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
package com.github.j2objccontrib.j2objcgradle.failing;
2+
3+
import com.fasterxml.jackson.databind.JsonNode;
4+
import com.fasterxml.jackson.databind.ObjectMapper;
5+
import org.junit.Assert;
6+
import org.junit.Test;
7+
8+
import java.io.IOException;
9+
import java.util.ArrayList;
10+
import java.util.List;
11+
12+
public class GenericsTest {
13+
public static class Person {
14+
15+
private String name;
16+
private String lastName;
17+
private int age;
18+
private ArrayList<Address> addressList;
19+
private Address singleAddress;
20+
21+
public Person(String name,
22+
String lastName,
23+
int age,
24+
ArrayList<Address> addressList) {
25+
this.name = name;
26+
this.lastName = lastName;
27+
this.age = age;
28+
this.addressList = addressList;
29+
}
30+
31+
Person() {
32+
}
33+
34+
@Override
35+
public String toString() {
36+
StringBuilder stringBuilder = new StringBuilder();
37+
stringBuilder.append("name: ")
38+
.append(this.name).append("\n")
39+
.append("lastName: ")
40+
.append(this.lastName).append("\n")
41+
.append("age: ")
42+
.append(this.age).append("\n");
43+
44+
for (Address address : this.addressList) {
45+
stringBuilder.append(address.toString());
46+
}
47+
48+
return stringBuilder.toString();
49+
}
50+
51+
public String getName() {
52+
return name;
53+
}
54+
55+
public String getLastName() {
56+
return lastName;
57+
}
58+
59+
public int getAge() {
60+
return age;
61+
}
62+
63+
public List<Address> getAddressList() {
64+
return addressList;
65+
}
66+
67+
public void setName(String name) {
68+
this.name = name;
69+
}
70+
71+
public void setLastName(String lastName) {
72+
this.lastName = lastName;
73+
}
74+
75+
public void setAge(int age) {
76+
this.age = age;
77+
}
78+
79+
public void setAddressList(ArrayList<Address> addressList) {
80+
this.addressList = addressList;
81+
}
82+
83+
public Address getSingleAddress() {
84+
return singleAddress;
85+
}
86+
87+
public void setSingleAddress(Address singleAddress) {
88+
this.singleAddress = singleAddress;
89+
}
90+
}
91+
92+
public static class Address {
93+
94+
private int zipcode;
95+
private String street;
96+
97+
Address() {
98+
99+
}
100+
101+
public Address(int zipcode,
102+
String street) {
103+
this.zipcode = zipcode;
104+
this.street = street;
105+
}
106+
107+
@Override
108+
public String toString() {
109+
StringBuilder stringBuilder = new StringBuilder();
110+
stringBuilder.append("zipcode: ")
111+
.append(this.zipcode).append("\n")
112+
.append("street: ")
113+
.append(this.street).append("\n");
114+
115+
return stringBuilder.toString();
116+
}
117+
118+
public int getZipcode() {
119+
return zipcode;
120+
}
121+
122+
public String getStreet() {
123+
return street;
124+
}
125+
126+
public void setZipcode(int zipcode) {
127+
this.zipcode = zipcode;
128+
}
129+
130+
public void setStreet(String street) {
131+
this.street = street;
132+
}
133+
}
134+
135+
@Test
136+
public void testMarshalling() throws IOException {
137+
Address homeAddress = new Address(12345, "Stenhammer Drive");
138+
Address workAddress = new Address(7986, "Market Street");
139+
ArrayList<Address> addressList = new ArrayList<>();
140+
addressList.add(homeAddress);
141+
addressList.add(workAddress);
142+
Person person = new Person("Sawyer", "Bootstrapper", 23, addressList);
143+
person.setSingleAddress(workAddress);
144+
145+
ObjectMapper objectMapper = new ObjectMapper();
146+
String value = objectMapper.writeValueAsString(person);
147+
148+
JsonNode expected = objectMapper.readTree(jsonValue);
149+
JsonNode actual = objectMapper.readTree(value);
150+
Assert.assertEquals(expected, actual);
151+
152+
}
153+
154+
private static String jsonValue = "{\"name\":\"Sawyer\",\"lastName\":\"Bootstrapper\",\"age\":23,\"addressList\":[{\"zipcode\":12345,\"street\":" +
155+
"\"Stenhammer Drive\"},{\"zipcode\":7986,\"street\":\"Market Street\"}],\"singleAddress\":{\"zipcode\":7986,\"street\":\"Market Street\"}}";
156+
157+
158+
@Test
159+
public void testDemarshallingWithEmbeddedObject() throws IOException {
160+
ObjectMapper objectMapper = new ObjectMapper();
161+
Person personValue = objectMapper.readValue(jsonValue, Person.class);
162+
Assert.assertTrue(personValue.getSingleAddress() instanceof Address);
163+
Assert.assertEquals(7986, personValue.singleAddress.zipcode);
164+
Assert.assertEquals("Market Street", personValue.singleAddress.street);
165+
}
166+
167+
@Test
168+
public void testDemarshallingSimpleFields() throws IOException {
169+
ObjectMapper objectMapper = new ObjectMapper();
170+
Person personValue = objectMapper.readValue(jsonValue, Person.class);
171+
172+
Assert.assertEquals("Sawyer", personValue.name);
173+
Assert.assertEquals("Bootstrapper", personValue.lastName);
174+
Assert.assertEquals(23, personValue.age);
175+
176+
}
177+
178+
@Test
179+
public void testDemarshallingListField() throws IOException {
180+
ObjectMapper objectMapper = new ObjectMapper();
181+
Person personValue = objectMapper.readValue(jsonValue, Person.class);
182+
183+
List<Address> addresses = personValue.addressList;
184+
Assert.assertEquals(2, addresses.size());
185+
Address firstAddress = addresses.get(0);
186+
Assert.assertTrue(firstAddress instanceof Address);
187+
188+
Assert.assertEquals(12345, firstAddress.zipcode);
189+
Assert.assertEquals("Stenhammer Drive", firstAddress.street);
190+
System.out.println("demarhsalling works");
191+
192+
}
193+
}

0 commit comments

Comments
 (0)