[android] #4009 - add tests for tracking settings, optimise architecture to make it testable through unit tests
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
package com.mapbox.mapboxsdk.maps;
|
||||
|
||||
import com.mapbox.mapboxsdk.constants.MyBearingTracking;
|
||||
import com.mapbox.mapboxsdk.constants.MyLocationTracking;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.mockito.InjectMocks;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
public class TrackingSettingsTest {
|
||||
|
||||
@InjectMocks
|
||||
MapView mMapView = mock(MapView.class);
|
||||
|
||||
@Test
|
||||
public void testSanity() {
|
||||
TrackingSettings trackingSettings = new TrackingSettings(mMapView, new UiSettings(mMapView));
|
||||
assertNotNull("trackingsettings should not be null", trackingSettings);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMyLocationTrackingMode() {
|
||||
TrackingSettings trackingSettings = new TrackingSettings(mMapView, new UiSettings(mMapView));
|
||||
trackingSettings.setMyLocationTrackingMode(MyLocationTracking.TRACKING_FOLLOW);
|
||||
assertEquals("MyLocationTrackingMode should match", MyLocationTracking.TRACKING_FOLLOW, trackingSettings.getMyLocationTrackingMode());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMyBearingTrackingMode() {
|
||||
TrackingSettings trackingSettings = new TrackingSettings(mMapView, new UiSettings(mMapView));
|
||||
trackingSettings.setMyBearingTrackingMode(MyBearingTracking.COMPASS);
|
||||
assertEquals("MyLocationTrackingMode should match", MyBearingTracking.COMPASS, trackingSettings.getMyBearingTrackingMode());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDismissTrackingModesOnGesture() {
|
||||
TrackingSettings trackingSettings = new TrackingSettings(mMapView, new UiSettings(mMapView));
|
||||
trackingSettings.setDismissTrackingOnGesture(false);
|
||||
assertFalse("DismissTrackingOnGesture should be false", trackingSettings.isDismissTrackingOnGesture());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testValidateGesturesForTrackingModes(){
|
||||
TrackingSettings trackingSettings = new TrackingSettings(mMapView, new UiSettings(mMapView));
|
||||
trackingSettings.setDismissTrackingOnGesture(false);
|
||||
trackingSettings.setMyLocationTrackingMode(MyLocationTracking.TRACKING_FOLLOW);
|
||||
assertFalse("DismissTrackingOnGesture should be false", trackingSettings.isDismissTrackingOnGesture());
|
||||
}
|
||||
}
|
||||
@@ -204,4 +204,11 @@ public class UiSettingsTest {
|
||||
assertEquals("Scroll gesture should be disabled", false, uiSettings.isScrollGesturesEnabled());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testInvalidate() {
|
||||
UiSettings uiSettings = new UiSettings(mMapView);
|
||||
uiSettings.invalidate();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user