### Question:
MapEventFactory { static OfflineDownloadEndEvent buildOfflineDownloadCompleteEvent(PhoneState phoneState, String shapeForOfflineRegion, @FloatRange(from = MapboxConstants.MINIMUM_ZOOM, to = MapboxConstants.MAXIMUM_ZOOM) Double minZoom, @FloatRange(from = MapboxConstants.MINIMUM_ZOOM, to = MapboxConstants.MAXIMUM_ZOOM) Double maxZoom, String styleURL, long sizeOfResourcesCompleted, long numberOfTilesCompleted, @OfflineRegion.DownloadState int state) { OfflineDownloadEndEvent offlineEvent = new OfflineDownloadEndEvent(phoneState, shapeForOfflineRegion, minZoom, maxZoom); offlineEvent.setStyleURL(styleURL); offlineEvent.setSizeOfResourcesCompleted(sizeOfResourcesCompleted); offlineEvent.setNumberOfTilesCompleted(numberOfTilesCompleted); offlineEvent.setState(state); return offlineEvent; }    }### Answer:
@Test public void testOfflineDownloadEndEvent() { OfflineDownloadEndEvent offlineDownloadEndEvent = MapEventFactory.buildOfflineDownloadCompleteEvent(phoneState, SHAPE, MIN_ZOOM, MAX_ZOOM, STYLE_URL, SIZE_OF_RESOURCES_COMPLETED, NUMBER_OF_TILE_COMPLETED, STATE); assertEquals(SHAPE, offlineDownloadEndEvent.getShapeForOfflineRegion()); assertEquals(MIN_ZOOM, offlineDownloadEndEvent.getMinZoom()); assertEquals(MAX_ZOOM, offlineDownloadEndEvent.getMaxZoom()); assertEquals(STYLE_URL, offlineDownloadEndEvent.getStyleURL()); assertEquals(SIZE_OF_RESOURCES_COMPLETED, offlineDownloadEndEvent.getSizeOfResourcesCompleted()); assertEquals(NUMBER_OF_TILE_COMPLETED, offlineDownloadEndEvent.getNumberOfTilesCompleted()); assertEquals(String.valueOf(STATE), offlineDownloadEndEvent.getState()); assertEquals(CREATED, offlineDownloadEndEvent.getCreated()); String json = gson.toJson(offlineDownloadEndEvent); OfflineDownloadEndEvent event = gson.fromJson(json, OfflineDownloadEndEvent.class); assertEquals(offlineDownloadEndEvent, event); }