[android] #4009 - add tests for tracking settings, optimise architecture to make it testable through unit tests

This commit is contained in:
Tobrun
2016-02-18 13:31:09 +01:00
parent dd7bbc024a
commit e4fa1816a7
5 changed files with 92 additions and 62 deletions

View File

@@ -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());
}
}

View File

@@ -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();
}
}