package org.infinispan.server.websocket.json; import static org.infinispan.assertions.JsonPayloadAssertion.assertThat; import static org.testng.Assert.assertEquals; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; import org.infinispan.test.AbstractInfinispanTest; import org.testng.annotations.Test; /** * Tests JsonObject class. * * @author Sebastian Laskawiec */ @Test(testName = "websocket.json.JsonObjectTest", groups = "unit") public class JsonObjectTest extends AbstractInfinispanTest { private static class ExampleObject { String field1; String field2; ExampleObject(String field1, String field2) { this.field1 = field1; this.field2 = field2; } public String getField1() { return field1; } public void setField1(String field1) { this.field1 = field1; } public String getField2() { return field2; } public void setField2(String field2) { this.field2 = field2; } } public void shouldReadJsonObjectFromJavaObject() throws Exception { //given ExampleObject example = new ExampleObject("field1Val", "field2Val"); //when JsonObject testedObject = JsonObject.fromObject(example); //then assertThat(testedObject).hasFields("field1", "field1Val").hasFields("field2", "field2Val"); } public void shouldReadJsonObjectFromMap() throws Exception { //given Map<Object, Object> objectMap = new HashMap<>(); objectMap.put("field1", "field1Val"); objectMap.put("field2", "field2Val"); //when JsonObject testedObject = JsonObject.fromObject(objectMap); //then assertThat(testedObject).hasFields("field1", "field1Val").hasFields("field2", "field2Val"); } public void shouldOverrideToStringMethod() throws Exception { //given Map<String, Object> objectMap = new LinkedHashMap<>(); objectMap.put("field2", "field2Val"); objectMap.put("field1", "field1Val"); JsonObject testedObject = JsonObject.fromMap(objectMap); //when String json = testedObject.toString(); //then assertEquals("{\"field2\":\"field2Val\",\"field1\":\"field1Val\"}", json); } }