package no.bouvet.jsonclient;
import org.joda.time.DateTime;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
import static junit.framework.TestCase.assertTrue;
import static org.junit.Assert.assertNotNull;
public class ConvertTestObjectTest {
private JsonConverter converter = new JsonConverter();
@Test
public void testConvertToJson() {
String json = converter.toJson(createTestObject());
assertNotNull(json);
}
@Test
public void testConvertToObject() {
String json = converter.toJson(createTestObject());
TestObject testObject = converter.toObject(json, TestObject.class);
assertNotNull(testObject);
}
@Test
public void testConvertToList() {
String json = converter.toJson(createList());
List<TestObject> list = converter.toList(json, TestObject.class);
assertNotNull(list);
assertNotNull(list.get(0));
assertTrue(list.get(0).getDate() instanceof DateTime);
}
@Test
public void testConvertToListOfList() {
String json = converter.toJson(createListOfList());
List<List<TestObject>> listOfList = converter.toListOfList(json, TestObject.class);
assertNotNull(listOfList);
assertNotNull(listOfList.get(0).get(0));
assertTrue(listOfList.get(0).get(0).getDate() instanceof DateTime);
}
private List<List<TestObject>> createListOfList() {
List<List<TestObject>> listOfList = new ArrayList<List<TestObject>>();
listOfList.add(createList());
listOfList.add(createList());
listOfList.add(createList());
return listOfList;
}
private List<TestObject> createList() {
List<TestObject> list = new ArrayList<TestObject>();
list.add(createTestObject());
list.add(createTestObject());
list.add(createTestObject());
return list;
}
private TestObject createTestObject() {
TestObject testObject = new TestObject();
testObject.setId(123);
testObject.setText("some text");
testObject.setDate(new DateTime());
return testObject;
}
}