[android] #4017 - update unit test for MapboxMap

This commit is contained in:
Tobrun
2016-02-18 16:05:14 +01:00
parent f2299c30c3
commit 27ed15c18c
3 changed files with 130 additions and 11 deletions

View File

@@ -203,7 +203,7 @@ public class MapView extends FrameLayout {
// Shows the zoom controls
if (!context.getPackageManager()
.hasSystemFeature(PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH)) {
mMapboxMap.setZoomControlsEnabled(true);
mMapboxMap.getUiSettings().setZoomControlsEnabled(true);
}
mZoomButtonsController = new ZoomButtonsController(this);
mZoomButtonsController.setZoomSpeed(MapboxConstants.ANIMATION_DURATION);

View File

@@ -1,9 +1,7 @@
package com.mapbox.mapboxsdk.maps;
import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
import android.location.Location;
import android.os.Bundle;
import android.os.SystemClock;
@@ -11,7 +9,6 @@ import android.support.annotation.FloatRange;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.UiThread;
import android.support.v4.content.ContextCompat;
import android.support.v4.util.LongSparseArray;
import android.text.TextUtils;
import android.util.Log;
@@ -369,11 +366,6 @@ public class MapboxMap {
// Manual zoom controls
//
// used by UiSettings
void setZoomControlsEnabled(boolean enabled) {
mMapView.setZoomControlsEnabled(enabled);
}
//
// Debug
//

View File

@@ -4,7 +4,10 @@ import android.Manifest;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.graphics.Point;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.content.ContextCompat;
import android.view.View;
import com.mapbox.mapboxsdk.annotations.Marker;
import com.mapbox.mapboxsdk.annotations.MarkerOptions;
@@ -47,6 +50,39 @@ public class MapboxMapTest {
@Mock
MapboxMap.OnMarkerClickListener mOnMarkerClickListener;
@Mock
MapboxMap.OnCameraChangeListener mOnCameraChangeListener;
@Mock
MapboxMap.InfoWindowAdapter mInfoWindowAdapter;
@Mock
MapboxMap.OnScrollListener mScrollListener;
@Mock
MapboxMap.OnFlingListener mFlingListener;
@Mock
MapboxMap.OnFpsChangedListener mFpsChangedListener;
@Mock
MapboxMap.OnInfoWindowClickListener mWindowClickListener;
@Mock
MapboxMap.OnInfoWindowCloseListener mWindowCloseListener;
@Mock
MapboxMap.OnInfoWindowLongClickListener mWindowLongClickListener;
@Mock
MapboxMap.OnMyLocationChangeListener mLocationChangeListener;
@Mock
MapboxMap.OnMyLocationTrackingModeChangeListener mMyLocationTrackingModeChangeListener;
@Mock
MapboxMap.OnMyBearingTrackingModeChangeListener mMyBearingTrackingModeChangeListener;
@Before
public void beforeTest() {
MockitoAnnotations.initMocks(this);
@@ -77,6 +113,15 @@ public class MapboxMapTest {
assertNotNull("UiSettings should not be null", mMapboxMap.getUiSettings());
}
//
// TrackingSettings
//
@Test
public void testTrackingSettings() {
assertNotNull("TrackingSettings should not be null", mMapboxMap.getTrackingSettings());
}
//
// Projection
//
@@ -86,7 +131,6 @@ public class MapboxMapTest {
assertNotNull("Projection should not be null", mMapboxMap.getProjection());
}
//
// InfoWindow
//
@@ -103,6 +147,12 @@ public class MapboxMapTest {
assertFalse("ConcurrentWindows should be false", mMapboxMap.isAllowConcurrentMultipleOpenInfoWindows());
}
@Test
public void testInfoWindowAdapter() {
mMapboxMap.setInfoWindowAdapter(mInfoWindowAdapter);
assertEquals("InfoWindowAdpter should be the same", mInfoWindowAdapter, mMapboxMap.getInfoWindowAdapter());
}
//
// Location
//
@@ -122,6 +172,71 @@ public class MapboxMapTest {
assertFalse("MyLocationEnabled should be false", mMapboxMap.isMyLocationEnabled());
}
//
// padding
//
@Test
public void testPadding() {
mMapboxMap.setOnCameraChangeListener(mOnCameraChangeListener);
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.moveCamera(CameraUpdateFactory.newCameraPosition(position));
mMapboxMap.setPadding(0, 0, 0, 0);
verify(mOnCameraChangeListener, times(2)).onCameraChange(position);
}
//
// setters/getters interfaces
//
@Test
public void testScrollListener() {
mMapboxMap.setOnScrollListener(mScrollListener);
assertEquals("ScrollListener should match", mScrollListener, mMapboxMap.getOnScrollListener());
}
@Test
public void testFlingListener() {
mMapboxMap.setOnFlingListener(mFlingListener);
assertEquals("FlingListener should match", mFlingListener, mMapboxMap.getOnFlingListener());
}
@Test
public void testFpsListener() {
mMapboxMap.setOnFpsChangedListener(mFpsChangedListener);
assertEquals("FpsListener should match", mFpsChangedListener, mMapboxMap.getOnFpsChangedListener());
}
@Test
public void testInfoWindowClickListener() {
mMapboxMap.setOnInfoWindowClickListener(mWindowClickListener);
assertEquals("InfoWidowClickListener should match", mWindowClickListener, mMapboxMap.getOnInfoWindowClickListener());
}
@Test
public void testInfoWindowCloseListener() {
mMapboxMap.setOnInfoWindowCloseListener(mWindowCloseListener);
assertEquals("InfoWindowCloseListener should match", mWindowCloseListener, mMapboxMap.getOnInfoWindowCloseListener());
}
@Test
public void testInfoWindowLongClickListener() {
mMapboxMap.setOnInfoWindowLongClickListener(mWindowLongClickListener);
assertEquals("InfoWindowLongClickListener should match", mWindowLongClickListener, mMapboxMap.getOnInfoWindowLongClickListener());
}
@Test
public void testOnBearingTrackingModeChangeListener(){
mMapboxMap.setOnMyBearingTrackingModeChangeListener(mMyBearingTrackingModeChangeListener);
assertEquals("MyBearingTrackingChangeListerner should match",mMyBearingTrackingModeChangeListener, mMapboxMap.getOnMyBearingTrackingModeChangeListener());
}
@Test
public void testOnLocationTrackingModeChangeListener(){
mMapboxMap.setOnMyLocationTrackingModeChangeListener(mMyLocationTrackingModeChangeListener);
assertEquals("MyLocationTrackigChangeListener should match",mMyLocationTrackingModeChangeListener, mMapboxMap.getOnMyLocationTrackingModeChangeListener());
}
//
// Style
//
@@ -199,7 +314,7 @@ public class MapboxMapTest {
@Test
public void testNewCameraPositionEaseCamera() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.easeCamera(CameraUpdateFactory.newCameraPosition(position), 1000);
mMapboxMap.easeCamera(CameraUpdateFactory.newCameraPosition(position));
assertEquals("CameraPosition should be same", position, mMapboxMap.getCameraPosition());
}
@@ -384,6 +499,18 @@ public class MapboxMapTest {
assertTrue("Zoomlevel should be same", 12 == mMapboxMap.getCameraPosition().zoom);
}
//
// OnCameraChangeListener
//
@Test
public void testOnCameraChangeListener() {
CameraPosition position = new CameraPosition.Builder().bearing(1).tilt(2).zoom(3).target(new LatLng(4, 5)).build();
mMapboxMap.setOnCameraChangeListener(mOnCameraChangeListener);
mMapboxMap.moveCamera(CameraUpdateFactory.newCameraPosition(position));
verify(mOnCameraChangeListener, times(1)).onCameraChange(position);
}
//
// Annotations
//