package com.urbanairship.api.push.parse.notification.android; import com.urbanairship.api.push.model.notification.android.BigPictureStyle; import com.urbanairship.api.push.model.notification.android.BigTextStyle; import com.urbanairship.api.push.model.notification.android.InboxStyle; import com.urbanairship.api.push.parse.PushObjectMapper; import org.codehaus.jackson.map.ObjectMapper; import org.junit.Test; import static junit.framework.Assert.assertEquals; public class StyleSerializerTest { private static final ObjectMapper MAPPER = PushObjectMapper.getInstance(); @Test public void testBigPictureStyleSerializer() throws Exception { String bigPictureStyleJson = "{" + "\"type\":\"big_picture\"," + "\"big_picture\":\"pic.png\"," + "\"title\":\"big pic title\"," + "\"summary\":\"big pic summary\"" + "}"; BigPictureStyle bigPictureStyle = BigPictureStyle.newBuilder() .setContent("pic.png") .setTitle("big pic title") .setSummary("big pic summary") .build(); String parsedBigText = MAPPER.writeValueAsString(bigPictureStyle); assertEquals(bigPictureStyleJson, parsedBigText); } @Test public void testBigTextStyleSerializer() throws Exception { String bigTextStyleJson = "{" + "\"type\":\"big_text\"," + "\"big_text\":\"text\"," + "\"title\":\"big text title\"," + "\"summary\":\"big text summary\"" + "}"; BigTextStyle bigTextStyle = BigTextStyle.newBuilder() .setContent("text") .setSummary("big text summary") .setTitle("big text title") .build(); String parsedBigPicture = MAPPER.writeValueAsString(bigTextStyle); assertEquals(bigTextStyleJson, parsedBigPicture); } @Test public void testInboxStyle() throws Exception { String styleInboxJson = "{" + "\"type\":\"inbox\"," + "\"lines\":[\"line_1\",\"line_2\",\"line_3\"]," + "\"title\":\"lines title\"," + "\"summary\":\"lines summary\"" + "}"; InboxStyle inboxStyle = InboxStyle.newBuilder() .addLine("line_1").addLine("line_2").addLine("line_3") .setTitle("lines title") .setSummary("lines summary") .build(); String parsedInbox = MAPPER.writeValueAsString(inboxStyle); assertEquals(styleInboxJson, parsedInbox); } }