diff options
Diffstat (limited to 'utils/src/test/java/org/onap/policy/common/utils/coder/StandardCoderTest.java')
-rw-r--r-- | utils/src/test/java/org/onap/policy/common/utils/coder/StandardCoderTest.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/utils/src/test/java/org/onap/policy/common/utils/coder/StandardCoderTest.java b/utils/src/test/java/org/onap/policy/common/utils/coder/StandardCoderTest.java index 25cce748..7583d776 100644 --- a/utils/src/test/java/org/onap/policy/common/utils/coder/StandardCoderTest.java +++ b/utils/src/test/java/org/onap/policy/common/utils/coder/StandardCoderTest.java @@ -22,6 +22,7 @@ package org.onap.policy.common.utils.coder; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; @@ -196,4 +197,51 @@ public class StandardCoderTest { assertThatThrownBy(() -> coder.decode(file, JsonElement.class)).isInstanceOf(CoderException.class) .hasCause(ioe); } + + @Test + public void testToStandard() throws Exception { + MyObject obj = new MyObject(); + obj.abc = "xyz"; + StandardCoderObject sco = coder.toStandard(obj); + assertNotNull(sco.getData()); + assertEquals("{'abc':'xyz'}".replace('\'', '"'), sco.getData().toString()); + + // class instead of object -> exception + assertThatThrownBy(() -> coder.toStandard(String.class)).isInstanceOf(CoderException.class); + } + + @Test + public void testFromStandard() throws Exception { + MyObject obj = new MyObject(); + obj.abc = "pdq"; + StandardCoderObject sco = coder.toStandard(obj); + + MyObject obj2 = coder.fromStandard(sco, MyObject.class); + assertEquals(obj.toString(), obj2.toString()); + + // null class -> exception + assertThatThrownBy(() -> coder.fromStandard(sco, null)).isInstanceOf(CoderException.class); + } + + @Test + public void testStandardTypeAdapter() throws Exception { + String json = "{'abc':'def'}".replace('\'', '"'); + StandardCoderObject sco = coder.fromJson(json, StandardCoderObject.class); + assertNotNull(sco.getData()); + assertEquals(json, sco.getData().toString()); + assertEquals(json, coder.toJson(sco)); + + // invalid json -> exception + assertThatThrownBy(() -> coder.fromJson(new StringReader("["), StandardCoderObject.class)); + } + + + private static class MyObject { + private String abc; + + @Override + public String toString() { + return "MyObject [abc=" + abc + "]"; + } + } } |