package org.openntf.xpt.test.json;
import java.io.StringWriter;
import org.junit.Ignore;
import org.junit.Test;
import org.openntf.xpt.core.json.JSONService;
import org.openntf.xpt.core.json.JsonBinderContainer;
import org.openntf.xpt.test.json.mock.UserMock;
import com.ibm.domino.services.util.JsonWriter;
import static org.junit.Assert.*;
public class Object2JsonTest {
private final String RESULT = "{\"accountnumber\":42,\"accountobject\":42,\"name\":\"Marco M\\u00FCller\",\"salary\":123000,\"salaryobject\":123000,\"tags\":[\"Manager\",\"Developer\",\"Leader\"]}";
private final String RESULT_CHILDREND = "{\"accountnumber\":42,\"accountobject\":42,\"children\":[{\"accountnumber\":21,\"accountobject\":21,\"name\":\"Ren\\u00E9 Meier\",\"salary\":90000,\"salaryobject\":90000,\"tags\":[\"Developer\"]},{\"accountnumber\":19,\"accountobject\":19,\"name\":\"Cecile N\\u00FCnlist\",\"salary\":99000,\"salaryobject\":99000}],\"name\":\"Marco M\\u00FCller\",\"salary\":123000,\"salaryobject\":123000,\"tags\":[\"Manager\",\"Developer\",\"Leader\"]}";
@Test
@Ignore
public void testBuildJsonFromObject() {
UserMock mock = UserMock.buildMockWithChildren();
StringWriter sw = new StringWriter();
JsonWriter jsWriter = new JsonWriter(sw, true);
JSONService.getTestInstance().process2JSON(jsWriter, mock);
assertEquals(RESULT, sw.toString());
}
@Test
public void testBuildJsonFromObjectSimpleMock() {
UserMock mock = UserMock.buildSimpleMock();
StringWriter sw = new StringWriter();
JsonWriter jsWriter = new JsonWriter(sw, true);
JsonBinderContainer container = new JsonBinderContainer();
container.process2JSON(jsWriter, mock);
assertEquals(RESULT, sw.toString());
}
@Test
public void testBuildJsonFromObjectChildren() {
UserMock mock = UserMock.buildMockWithChildren();
StringWriter sw = new StringWriter();
JsonWriter jsWriter = new JsonWriter(sw, true);
JsonBinderContainer container = new JsonBinderContainer();
container.process2JSON(jsWriter, mock);
System.out.println(sw.toString());
assertEquals(RESULT_CHILDREND, sw.toString());
}
}