diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/module/telemetry/MapEventFactoryTest.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/module/telemetry/MapEventFactoryTest.java | 56 |
1 files changed, 53 insertions, 3 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/module/telemetry/MapEventFactoryTest.java b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/module/telemetry/MapEventFactoryTest.java index f5c9493e21..b028911d4d 100644 --- a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/module/telemetry/MapEventFactoryTest.java +++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/module/telemetry/MapEventFactoryTest.java @@ -1,8 +1,10 @@ package com.mapbox.mapboxsdk.module.telemetry; import android.os.Build; +import android.os.Bundle; import com.google.gson.Gson; +import com.google.gson.JsonObject; import com.mapbox.mapboxsdk.BuildConfig; import com.mapbox.mapboxsdk.constants.TelemetryConstants; import com.mapbox.mapboxsdk.offline.OfflineRegion; @@ -10,8 +12,15 @@ import com.mapbox.mapboxsdk.offline.OfflineRegion; import org.junit.Before; import org.junit.Test; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + +import static com.mapbox.mapboxsdk.module.telemetry.PerformanceEvent.PerformanceAttribute; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; public class MapEventFactoryTest { private static final float FONT_SCALE = 1.f; @@ -29,9 +38,10 @@ public class MapEventFactoryTest { private static final Double MIN_ZOOM = 1.0; private static final Double MAX_ZOOM = 10.0; private static final String STYLE_URL = "style url"; - private static final long SIZE_OF_RESOURCES_COMPLETED = 100L; - private static final long NUMBER_OF_TILE_COMPLETED = 1000L; + private static final long SIZE_OF_RESOURCES_COMPLETED = 100; + private static final long NUMBER_OF_TILE_COMPLETED = 1000; private static final int STATE = OfflineRegion.STATE_ACTIVE; + private static final String SESSION_ID = "001"; private MapState mapState; private PhoneState phoneState; @@ -121,7 +131,7 @@ public class MapEventFactoryTest { assertEquals(STYLE_URL, offlineDownloadEndEvent.getStyleURL()); assertEquals(SIZE_OF_RESOURCES_COMPLETED, offlineDownloadEndEvent.getSizeOfResourcesCompleted()); assertEquals(NUMBER_OF_TILE_COMPLETED, offlineDownloadEndEvent.getNumberOfTilesCompleted()); - assertEquals(STATE, offlineDownloadEndEvent.getState()); + assertEquals(String.valueOf(STATE), offlineDownloadEndEvent.getState()); assertEquals(CREATED, offlineDownloadEndEvent.getCreated()); String json = gson.toJson(offlineDownloadEndEvent); OfflineDownloadEndEvent event = gson.fromJson(json, OfflineDownloadEndEvent.class); @@ -141,4 +151,44 @@ public class MapEventFactoryTest { OfflineDownloadStartEvent event = gson.fromJson(json, OfflineDownloadStartEvent.class); assertEquals(offlineDownloadStartEvent, event); } + + @Test + public void testPerformanceEvent() { + String nameAttribute = "nameAttribute"; + String valueAttribute = "100"; + String nameCounters = "nameCounters"; + Double valuesCounters = 1000.0; + JsonObject metaData = new JsonObject(); + metaData.addProperty("os", "android"); + metaData.addProperty("manufacturer", Build.MANUFACTURER); + metaData.addProperty("brand", Build.BRAND); + metaData.addProperty("device", Build.MODEL); + metaData.addProperty("version", Build.VERSION.RELEASE); + metaData.addProperty("abi", Build.CPU_ABI); + metaData.addProperty("country", Locale.getDefault().getISO3Country()); + metaData.addProperty("ram", "ram"); + metaData.addProperty("screenSize", "1000"); + + Bundle data = mock(Bundle.class); + ArrayList<PerformanceEvent.PerformanceAttribute<String>> attribtueList = new ArrayList<>(); + PerformanceAttribute<String> attribute = new PerformanceAttribute<>(nameAttribute, valueAttribute); + attribtueList.add(attribute); + ArrayList<PerformanceEvent.PerformanceAttribute<Double>> countersList = new ArrayList<>(); + PerformanceAttribute<Double> counter = new PerformanceAttribute<>(nameCounters, valuesCounters); + countersList.add(counter); + when(data.getString("attributes")).thenReturn(gson.toJson(attribtueList)); + when(data.getString("counters")).thenReturn(gson.toJson(countersList)); + when(data.getString("metadata")).thenReturn(metaData.toString()); + PerformanceEvent performanceEvent = MapEventFactory.buildPerformanceEvent(phoneState, + SESSION_ID, data); + assertEquals(CREATED, performanceEvent.getCreated()); + assertEquals(metaData.toString(), performanceEvent.getMetadata().toString()); + assertEquals(SESSION_ID, performanceEvent.getSessionId()); + List<PerformanceEvent.PerformanceAttribute<String>> attributeList = performanceEvent.getAttributes(); + assertEquals(1, attribtueList.size()); + assertEquals(attribute, attribtueList.get(0)); + List<PerformanceEvent.PerformanceAttribute<Double>> counterList = performanceEvent.getCounters(); + assertEquals(1, counterList.size()); + assertEquals(counter, counterList.get(0)); + } } |