package com.urbanairship.api.reports.model;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
public class PlatformCountsTest {
@Test
public void testPlatformCounts() {
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
DateTime dt = formatter.parseDateTime("2013-07-31 21:27:38");
PerPushCounts perPush = PerPushCounts.newBuilder()
.setDirectResponses(1)
.setInfluencedResponses(2)
.setSends(3)
.build();
RichPerPushCounts richPerPush = RichPerPushCounts.newBuilder()
.setResponses(1)
.setSends(2)
.build();
PlatformCounts obj = PlatformCounts.newBuilder()
.addPlatform(PlatformType.IOS, perPush)
.addPlatform(PlatformType.ANDROID, perPush)
.addPlatform(PlatformType.AMAZON, perPush)
.addRichPlatform(PlatformType.IOS, richPerPush)
.addRichPlatform(PlatformType.ANDROID, richPerPush)
.setTime(dt)
.build();
assertNotNull(obj);
assertEquals(3, obj.getPushPlatforms().size());
assertEquals(1, obj.getPushPlatforms().get(PlatformType.IOS).getDirectResponses());
assertEquals(2, obj.getPushPlatforms().get(PlatformType.ANDROID).getInfluencedResponses());
assertEquals(3, obj.getPushPlatforms().get(PlatformType.AMAZON).getSends());
assertEquals(2, obj.getRichPushPlatforms().size());
assertEquals(1, obj.getRichPushPlatforms().get(PlatformType.IOS).getResponses());
assertEquals(2, obj.getRichPushPlatforms().get(PlatformType.ANDROID).getSends());
}
}