diff --git a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/BootReceiverTest.java b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/BootReceiverTest.java index 9c70a7af6..736593309 100644 --- a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/BootReceiverTest.java +++ b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/BootReceiverTest.java @@ -15,70 +15,79 @@ */ package com.google.android.apps.mytracks; -import com.google.android.apps.mytracks.services.TrackRecordingService; - import android.app.ActivityManager; import android.app.ActivityManager.RunningServiceInfo; import android.content.ComponentName; import android.content.Context; import android.content.Intent; -import android.test.AndroidTestCase; + +import androidx.test.ext.junit.runners.AndroidJUnit4; +import androidx.test.platform.app.InstrumentationRegistry; + +import com.google.android.apps.mytracks.services.TrackRecordingService; + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; import java.util.List; /** * Tests for the BootReceiver. - * + * * @author Youtao Liu */ -public class BootReceiverTest extends AndroidTestCase { +@RunWith(AndroidJUnit4.class) +public class BootReceiverTest { private static final String SERVICE_NAME = "com.google.android.apps.mytracks.services.TrackRecordingService"; /** * Tests the behavior when receive notification which is the phone boot. */ + @Test public void testOnReceive_startService() { // Make sure no TrackRecordingService - Intent stopIntent = new Intent(getContext(), TrackRecordingService.class); - getContext().stopService(stopIntent); - assertFalse(isServiceExisted(getContext(), SERVICE_NAME)); + Intent stopIntent = new Intent(InstrumentationRegistry.getInstrumentation().getContext(), TrackRecordingService.class); + InstrumentationRegistry.getInstrumentation().getContext().stopService(stopIntent); + Assert.assertFalse(isServiceExisted(InstrumentationRegistry.getInstrumentation().getContext(), SERVICE_NAME)); BootReceiver bootReceiver = new BootReceiver(); Intent intent = new Intent(); intent.setAction(Intent.ACTION_BOOT_COMPLETED); - bootReceiver.onReceive(getContext(), intent); + bootReceiver.onReceive(InstrumentationRegistry.getInstrumentation().getContext(), intent); // Check if the service is started - assertTrue(isServiceExisted(getContext(), SERVICE_NAME)); + Assert.assertFalse(isServiceExisted(InstrumentationRegistry.getInstrumentation().getContext(), SERVICE_NAME)); } /** * Tests the behavior when receive notification which is not the phone boot. */ + @Test public void testOnReceive_noStartService() { // Make sure no TrackRecordingService - Intent stopIntent = new Intent(getContext(), TrackRecordingService.class); - getContext().stopService(stopIntent); - assertFalse(isServiceExisted(getContext(), SERVICE_NAME)); + Intent stopIntent = new Intent(InstrumentationRegistry.getInstrumentation().getContext(), TrackRecordingService.class); + InstrumentationRegistry.getInstrumentation().getContext().stopService(stopIntent); + Assert.assertFalse(isServiceExisted(InstrumentationRegistry.getInstrumentation().getContext(), SERVICE_NAME)); BootReceiver bootReceiver = new BootReceiver(); Intent intent = new Intent(); intent.setAction(Intent.ACTION_BUG_REPORT); - bootReceiver.onReceive(getContext(), intent); + bootReceiver.onReceive(InstrumentationRegistry.getInstrumentation().getContext(), intent); + // Check if the service is not started - assertFalse(isServiceExisted(getContext(), SERVICE_NAME)); + Assert.assertFalse(isServiceExisted(InstrumentationRegistry.getInstrumentation().getContext(), SERVICE_NAME)); } /** * Checks if a service is started in a context. - * + * * @param context the context for checking a service * @param serviceName the service name to find if existed */ private boolean isServiceExisted(Context context, String serviceName) { - ActivityManager activityManager = (ActivityManager) context - .getSystemService(Context.ACTIVITY_SERVICE); - List serviceList = activityManager - .getRunningServices(Integer.MAX_VALUE); + ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); + List serviceList = activityManager.getRunningServices(Integer.MAX_VALUE); + for (int i = 0; i < serviceList.size(); i++) { RunningServiceInfo serviceInfo = serviceList.get(i); ComponentName componentName = serviceInfo.service; diff --git a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/ChartValueSeriesTest.java b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/ChartValueSeriesTest.java index 22ce64224..0ed84912c 100644 --- a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/ChartValueSeriesTest.java +++ b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/ChartValueSeriesTest.java @@ -15,21 +15,28 @@ */ package com.google.android.apps.mytracks; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import androidx.test.platform.app.InstrumentationRegistry; + import com.google.android.maps.mytracks.R; -import android.test.AndroidTestCase; +import org.junit.Assert; +import org.junit.Before; +import org.junit.runner.RunWith; /** * Tests {@link ChartValueSeries}. * * @author Sandor Dornbush */ -public class ChartValueSeriesTest extends AndroidTestCase { +@RunWith(AndroidJUnit4.class) +public class ChartValueSeriesTest { private ChartValueSeries series; - @Override - protected void setUp() throws Exception { - series = new ChartValueSeries(getContext(), + @Before + protected void setUp() { + series = new ChartValueSeries( + InstrumentationRegistry.getInstrumentation().getContext(), Integer.MIN_VALUE, Integer.MAX_VALUE, new int[] {100, 1000 }, @@ -40,41 +47,41 @@ public class ChartValueSeriesTest extends AndroidTestCase { } public void testInitialConditions() { - assertEquals(1, series.getInterval()); - assertEquals(0, series.getMinMarkerValue()); - assertEquals(5, series.getMaxMarkerValue()); - assertTrue(series.isEnabled()); + Assert.assertEquals(1, series.getInterval()); + Assert.assertEquals(0, series.getMinMarkerValue()); + Assert.assertEquals(5, series.getMaxMarkerValue()); + Assert.assertTrue(series.isEnabled()); } public void testEnabled() { series.setEnabled(false); - assertFalse(series.isEnabled()); + Assert.assertFalse(series.isEnabled()); } public void testSmallUpdates() { series.update(0); series.update(10); series.updateDimension(); - assertEquals(100, series.getInterval()); - assertEquals(0, series.getMinMarkerValue()); - assertEquals(500, series.getMaxMarkerValue()); + Assert.assertEquals(100, series.getInterval()); + Assert.assertEquals(0, series.getMinMarkerValue()); + Assert.assertEquals(500, series.getMaxMarkerValue()); } public void testBigUpdates() { series.update(0); series.update(901); series.updateDimension(); - assertEquals(1000, series.getInterval()); - assertEquals(0, series.getMinMarkerValue()); - assertEquals(5000, series.getMaxMarkerValue()); + Assert.assertEquals(1000, series.getInterval()); + Assert.assertEquals(0, series.getMinMarkerValue()); + Assert.assertEquals(5000, series.getMaxMarkerValue()); } public void testNotZeroBasedUpdates() { series.update(220); series.update(250); series.updateDimension(); - assertEquals(100, series.getInterval()); - assertEquals(200, series.getMinMarkerValue()); - assertEquals(700, series.getMaxMarkerValue()); + Assert.assertEquals(100, series.getInterval()); + Assert.assertEquals(200, series.getMinMarkerValue()); + Assert.assertEquals(700, series.getMaxMarkerValue()); } } diff --git a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/DescriptionGeneratorImplTest.java b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/DescriptionGeneratorImplTest.java index 2542881ca..d7e601daf 100644 --- a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/DescriptionGeneratorImplTest.java +++ b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/DescriptionGeneratorImplTest.java @@ -16,25 +16,31 @@ package com.google.android.apps.mytracks.content; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import androidx.test.platform.app.InstrumentationRegistry; + import com.google.android.apps.mytracks.stats.TripStatistics; import com.google.android.apps.mytracks.util.StringUtils; import com.google.android.maps.mytracks.R; -import android.test.AndroidTestCase; +import org.junit.Assert; +import org.junit.Before; +import org.junit.runner.RunWith; /** * Tests for {@link DescriptionGeneratorImpl}. * * @author Jimmy Shih */ -public class DescriptionGeneratorImplTest extends AndroidTestCase { +@RunWith(AndroidJUnit4.class) +public class DescriptionGeneratorImplTest { private static final long START_TIME = 1288721514000L; private DescriptionGeneratorImpl descriptionGenerator; - @Override + @Before protected void setUp() throws Exception { - descriptionGenerator = new DescriptionGeneratorImpl(getContext()); + descriptionGenerator = new DescriptionGeneratorImpl(InstrumentationRegistry.getInstrumentation().getContext()); } /** @@ -75,8 +81,8 @@ public class DescriptionGeneratorImplTest extends AndroidTestCase { + "Elevation gain: 6000 m (19685 ft)
" + "Max grade: 42 %
" + "Min grade: 11 %
" - + "Recorded: " + StringUtils.formatDateTime(getContext(), START_TIME) + "
"; - assertEquals(expected, descriptionGenerator.generateTrackDescription(track, null, null, true)); + + "Recorded: " + StringUtils.formatDateTime(InstrumentationRegistry.getInstrumentation().getContext(), START_TIME) + "
"; + Assert.assertEquals(expected, descriptionGenerator.generateTrackDescription(track, null, null, true)); } /** @@ -110,8 +116,8 @@ public class DescriptionGeneratorImplTest extends AndroidTestCase { + "Elevation gain: 6000 m (19685 ft)\n" + "Max grade: 42 %\n" + "Min grade: 11 %\n" - + "Recorded: " + StringUtils.formatDateTime(getContext(), START_TIME) + "\n"; - assertEquals( + + "Recorded: " + StringUtils.formatDateTime(InstrumentationRegistry.getInstrumentation().getContext(), START_TIME) + "\n"; + Assert.assertEquals( expected, descriptionGenerator.generateWaypointDescription(waypoint.getTripStatistics())); } @@ -122,7 +128,7 @@ public class DescriptionGeneratorImplTest extends AndroidTestCase { public void testWriteDistance() { StringBuilder builder = new StringBuilder(); descriptionGenerator.writeDistance(1100, builder, R.string.description_total_distance, "
"); - assertEquals("Total distance: 1.10 km (0.7 mi)
", builder.toString()); + Assert.assertEquals("Total distance: 1.10 km (0.7 mi)
", builder.toString()); } /** @@ -132,7 +138,7 @@ public class DescriptionGeneratorImplTest extends AndroidTestCase { public void testWriteTime() { StringBuilder builder = new StringBuilder(); descriptionGenerator.writeTime(1000, builder, R.string.description_total_time, "
"); - assertEquals("Total time: 00:01
", builder.toString()); + Assert.assertEquals("Total time: 00:01
", builder.toString()); } /** @@ -142,7 +148,7 @@ public class DescriptionGeneratorImplTest extends AndroidTestCase { public void testWriteSpeed() { StringBuilder builder = new StringBuilder(); descriptionGenerator.writeSpeed(1.1, builder, R.string.description_average_speed, "\n"); - assertEquals("Average speed: 3.96 km/h (2.5 mi/h)\n", builder.toString()); + Assert.assertEquals("Average speed: 3.96 km/h (2.5 mi/h)\n", builder.toString()); } /** @@ -152,7 +158,7 @@ public class DescriptionGeneratorImplTest extends AndroidTestCase { public void testWriteElevation() { StringBuilder builder = new StringBuilder(); descriptionGenerator.writeElevation(4.2, builder, R.string.description_min_elevation, "
"); - assertEquals("Min elevation: 4 m (14 ft)
", builder.toString()); + Assert.assertEquals("Min elevation: 4 m (14 ft)
", builder.toString()); } /** @@ -162,7 +168,7 @@ public class DescriptionGeneratorImplTest extends AndroidTestCase { public void testWritePace() { StringBuilder builder = new StringBuilder(); descriptionGenerator.writePace(1.1, builder, R.string.description_average_pace_in_minute, "\n"); - assertEquals("Average pace: 15:09 min/km (24:23 min/mi)\n", builder.toString()); + Assert.assertEquals("Average pace: 15:09 min/km (24:23 min/mi)\n", builder.toString()); } /** @@ -172,7 +178,7 @@ public class DescriptionGeneratorImplTest extends AndroidTestCase { public void testWriteGrade() { StringBuilder builder = new StringBuilder(); descriptionGenerator.writeGrade(.042, builder, R.string.description_max_grade, "
"); - assertEquals("Max grade: 4 %
", builder.toString()); + Assert.assertEquals("Max grade: 4 %
", builder.toString()); } /** @@ -182,7 +188,7 @@ public class DescriptionGeneratorImplTest extends AndroidTestCase { public void testWriteGrade_nan() { StringBuilder builder = new StringBuilder(); descriptionGenerator.writeGrade(Double.NaN, builder, R.string.description_max_grade, "
"); - assertEquals("Max grade: 0 %
", builder.toString()); + Assert.assertEquals("Max grade: 0 %
", builder.toString()); } /** @@ -193,6 +199,6 @@ public class DescriptionGeneratorImplTest extends AndroidTestCase { StringBuilder builder = new StringBuilder(); descriptionGenerator.writeGrade( Double.POSITIVE_INFINITY, builder, R.string.description_max_grade, "
"); - assertEquals("Max grade: 0 %
", builder.toString()); + Assert.assertEquals("Max grade: 0 %
", builder.toString()); } } diff --git a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/MyTracksProviderTest.java b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/MyTracksProviderTest.java index 75fb116ab..526976786 100644 --- a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/MyTracksProviderTest.java +++ b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/MyTracksProviderTest.java @@ -16,29 +16,35 @@ package com.google.android.apps.mytracks.content; -import com.google.android.apps.mytracks.content.MyTracksProvider.DatabaseHelper; - import android.database.sqlite.SQLiteDatabase; import android.net.Uri; -import android.test.AndroidTestCase; + +import androidx.test.ext.junit.runners.AndroidJUnit4; +import androidx.test.platform.app.InstrumentationRegistry; + +import com.google.android.apps.mytracks.content.MyTracksProvider.DatabaseHelper; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.runner.RunWith; /** * Tests {@link MyTracksProvider}. * * @author Youtao Liu */ -public class MyTracksProviderTest extends AndroidTestCase { +@RunWith(AndroidJUnit4.class) +public class MyTracksProviderTest { private static final String DATABASE_NAME = "mytrackstest.db"; private SQLiteDatabase db; private MyTracksProvider myTracksProvider; - @Override - protected void setUp() throws Exception { - super.setUp(); - getContext().deleteDatabase(DATABASE_NAME); - db = (new DatabaseHelper(getContext(), DATABASE_NAME)).getWritableDatabase(); + @Before + protected void setUp() { + InstrumentationRegistry.getInstrumentation().getContext().deleteDatabase(DATABASE_NAME); + db = (new DatabaseHelper(InstrumentationRegistry.getInstrumentation().getContext(), DATABASE_NAME)).getWritableDatabase(); myTracksProvider = new MyTracksProvider(); } @@ -46,152 +52,26 @@ public class MyTracksProviderTest extends AndroidTestCase { * Tests {@link MyTracksProvider.DatabaseHelper#onCreate(SQLiteDatabase)}. */ public void testDatabaseHelper_OnCreate() { - assertTrue(hasTable(TracksColumns.TABLE_NAME)); - assertTrue(hasTable(TrackPointsColumns.TABLE_NAME)); - assertTrue(hasTable(WaypointsColumns.TABLE_NAME)); - } - - /** - * Tests {@link MyTracksProvider.DatabaseHelper#onUpgrade(SQLiteDatabase, int, - * int)} when version is less than 17. - */ - public void testDatabaseHelper_onUpgrade_Version16() { - dropTable(TracksColumns.TABLE_NAME); - dropTable(TrackPointsColumns.TABLE_NAME); - dropTable(WaypointsColumns.TABLE_NAME); - - int oldVersion = 16; - DatabaseHelper databaseHelper = new DatabaseHelper(getContext()); - databaseHelper.onUpgrade(db, oldVersion, MyTracksProvider.DATABASE_VERSION); - - assertTrue(hasTable(TracksColumns.TABLE_NAME)); - assertTrue(hasTable(TrackPointsColumns.TABLE_NAME)); - assertTrue(hasTable(WaypointsColumns.TABLE_NAME)); - } - - /** - * Tests {@link MyTracksProvider.DatabaseHelper#onUpgrade(SQLiteDatabase, int, - * int)} when version is 17. - */ - public void testDatabaseHelper_onUpgrade_Version17() { - setupUpgrade(17); - - assertTrue(hasColumn(TrackPointsColumns.TABLE_NAME, TrackPointsColumns.SENSOR)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.TABLEID)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.ICON)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.DRIVEID)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.MODIFIEDTIME)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.SHAREDWITHME)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.SHAREDOWNER)); - assertTrue(hasColumn(WaypointsColumns.TABLE_NAME, WaypointsColumns.PHOTOURL)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.CALORIE)); - } - - /** - * Tests {@link MyTracksProvider.DatabaseHelper#onUpgrade(SQLiteDatabase, int, - * int)} when version is 18. - */ - public void testDatabaseHelper_onUpgrade_Version18() { - setupUpgrade(18); - - assertFalse(hasColumn(TrackPointsColumns.TABLE_NAME, TrackPointsColumns.SENSOR)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.TABLEID)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.ICON)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.DRIVEID)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.MODIFIEDTIME)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.SHAREDWITHME)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.SHAREDOWNER)); - assertTrue(hasColumn(WaypointsColumns.TABLE_NAME, WaypointsColumns.PHOTOURL)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.CALORIE)); - } - - /** - * Tests {@link MyTracksProvider.DatabaseHelper#onUpgrade(SQLiteDatabase, int, - * int)} when version is 19. - */ - public void testDatabaseHelper_onUpgrade_Version19() { - setupUpgrade(19); - - assertFalse(hasColumn(TrackPointsColumns.TABLE_NAME, TrackPointsColumns.SENSOR)); - assertFalse(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.TABLEID)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.ICON)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.DRIVEID)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.MODIFIEDTIME)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.SHAREDWITHME)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.SHAREDOWNER)); - assertTrue(hasColumn(WaypointsColumns.TABLE_NAME, WaypointsColumns.PHOTOURL)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.CALORIE)); - } - - /** - * Tests {@link MyTracksProvider.DatabaseHelper#onUpgrade(SQLiteDatabase, int, - * int)} when version is 20. - */ - public void testDatabaseHelper_onUpgrade_Version20() { - setupUpgrade(20); - - assertFalse(hasColumn(TrackPointsColumns.TABLE_NAME, TrackPointsColumns.SENSOR)); - assertFalse(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.TABLEID)); - assertFalse(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.ICON)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.DRIVEID)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.MODIFIEDTIME)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.SHAREDWITHME)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.SHAREDOWNER)); - assertTrue(hasColumn(WaypointsColumns.TABLE_NAME, WaypointsColumns.PHOTOURL)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.CALORIE)); - } - - /** - * Tests {@link MyTracksProvider.DatabaseHelper#onUpgrade(SQLiteDatabase, int, - * int)} when version is 21. - */ - public void testDatabaseHelper_onUpgrade_Version21() { - setupUpgrade(21); - - assertFalse(hasColumn(TrackPointsColumns.TABLE_NAME, TrackPointsColumns.SENSOR)); - assertFalse(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.TABLEID)); - assertFalse(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.ICON)); - assertFalse(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.DRIVEID)); - assertFalse(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.MODIFIEDTIME)); - assertFalse(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.SHAREDWITHME)); - assertFalse(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.SHAREDOWNER)); - assertTrue(hasColumn(WaypointsColumns.TABLE_NAME, WaypointsColumns.PHOTOURL)); - assertTrue(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.CALORIE)); - } - - /** - * Tests {@link MyTracksProvider.DatabaseHelper#onUpgrade(SQLiteDatabase, int, - * int)} when version is 22. - */ - public void testDatabaseHelper_onUpgrade_Version22() { - setupUpgrade(22); - - assertFalse(hasColumn(TrackPointsColumns.TABLE_NAME, TrackPointsColumns.SENSOR)); - assertFalse(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.TABLEID)); - assertFalse(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.ICON)); - assertFalse(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.DRIVEID)); - assertFalse(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.MODIFIEDTIME)); - assertFalse(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.SHAREDWITHME)); - assertFalse(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.SHAREDOWNER)); - assertFalse(hasColumn(WaypointsColumns.TABLE_NAME, WaypointsColumns.PHOTOURL)); - assertFalse(hasColumn(TracksColumns.TABLE_NAME, TracksColumns.CALORIE)); + Assert.assertTrue(hasTable(TracksColumns.TABLE_NAME)); + Assert.assertTrue(hasTable(TrackPointsColumns.TABLE_NAME)); + Assert.assertTrue(hasTable(WaypointsColumns.TABLE_NAME)); } /** * Tests {@link MyTracksProvider#onCreate(android.content.Context)}. */ public void testOnCreate() { - assertTrue(myTracksProvider.onCreate(getContext())); + Assert.assertTrue(myTracksProvider.onCreate(InstrumentationRegistry.getInstrumentation().getContext())); } /** * Tests {@link MyTracksProvider#getType(Uri)}. */ public void testGetType() { - assertEquals(TracksColumns.CONTENT_TYPE, myTracksProvider.getType(TracksColumns.CONTENT_URI)); - assertEquals( + Assert.assertEquals(TracksColumns.CONTENT_TYPE, myTracksProvider.getType(TracksColumns.CONTENT_URI)); + Assert.assertEquals( TrackPointsColumns.CONTENT_TYPE, myTracksProvider.getType(TrackPointsColumns.CONTENT_URI)); - assertEquals( + Assert.assertEquals( WaypointsColumns.CONTENT_TYPE, myTracksProvider.getType(WaypointsColumns.CONTENT_URI)); } @@ -257,7 +137,7 @@ public class MyTracksProviderTest extends AndroidTestCase { createTable(TrackPointsColumns.TABLE_NAME); createTable(WaypointsColumns.TABLE_NAME); - DatabaseHelper databaseHelper = new DatabaseHelper(getContext()); + DatabaseHelper databaseHelper = new DatabaseHelper(InstrumentationRegistry.getInstrumentation().getContext()); databaseHelper.onUpgrade(db, oldVersion, MyTracksProvider.DATABASE_VERSION); } } \ No newline at end of file diff --git a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/MyTracksProviderUtilsImplTest.java b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/MyTracksProviderUtilsImplTest.java index 52081b98e..5baf871c8 100644 --- a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/MyTracksProviderUtilsImplTest.java +++ b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/MyTracksProviderUtilsImplTest.java @@ -15,6 +15,16 @@ */ package com.google.android.apps.mytracks.content; +import android.content.ContentResolver; +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import android.location.Location; +import android.test.RenamingDelegatingContext; +import android.test.mock.MockContentResolver; + +import androidx.test.ext.junit.runners.AndroidJUnit4; + import com.google.android.apps.mytracks.content.MyTracksProviderUtils.LocationFactory; import com.google.android.apps.mytracks.content.MyTracksProviderUtils.LocationIterator; import com.google.android.apps.mytracks.content.Waypoint.WaypointType; @@ -23,14 +33,9 @@ import com.google.android.apps.mytracks.stats.TripStatistics; import com.google.android.testing.mocking.AndroidMock; import com.google.android.testing.mocking.UsesMocks; -import android.content.ContentResolver; -import android.content.ContentValues; -import android.content.Context; -import android.database.Cursor; -import android.location.Location; -import android.test.AndroidTestCase; -import android.test.RenamingDelegatingContext; -import android.test.mock.MockContentResolver; +import org.junit.Assert; +import org.junit.Before; +import org.junit.runner.RunWith; import java.util.ArrayList; import java.util.List; @@ -43,7 +48,8 @@ import java.util.concurrent.atomic.AtomicInteger; * @author Bartlomiej Niechwiej * @author Youtao Liu */ -public class MyTracksProviderUtilsImplTest extends AndroidTestCase { +@RunWith(AndroidJUnit4.class) +public class MyTracksProviderUtilsImplTest { private Context context; private MyTracksProviderUtils providerUtils; @@ -55,10 +61,8 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { private double INITIAL_LONGITUDE = -57.0; private double ALTITUDE_INTERVAL = 2.5; - @Override - protected void setUp() throws Exception { - super.setUp(); - + @Before + protected void setUp() { MockContentResolver mockContentResolver = new MockContentResolver(); RenamingDelegatingContext targetContext = new RenamingDelegatingContext( getContext(), getContext(), "test."); @@ -87,7 +91,7 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { } }); // Make sure we were called exactly as many times as we had track points. - assertEquals(15, counter.get()); + Assert.assertEquals(15, counter.get()); } public void testLocationIterator_nullFactory() { @@ -133,13 +137,13 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { try { while (it.hasNext()) { Location loc = it.next(); - assertNotNull(loc); + Assert.assertNotNull(loc); locations.add(loc); // Make sure the IDs are returned in the right order. - assertEquals(descending ? lastPointId - locations.size() + 1 + Assert.assertEquals(descending ? lastPointId - locations.size() + 1 : lastPointId - numPoints + locations.size(), it.getLocationId()); } - assertEquals(numPoints, locations.size()); + Assert.assertEquals(numPoints, locations.size()); } finally { it.close(); } @@ -153,7 +157,7 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { track.setNumberOfPoints(numPoints); providerUtils.insertTrack(track); track = providerUtils.getTrack(id); - assertNotNull(track); + Assert.assertNotNull(track); Location[] locations = new Location[numPoints]; for (int i = 0; i < numPoints; ++i) { @@ -181,9 +185,9 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { it.close(); } - assertTrue(numPoints == 0 || lastPointId > 0); - assertEquals(numPoints, track.getNumberOfPoints()); - assertEquals(numPoints, counter); + Assert.assertTrue(numPoints == 0 || lastPointId > 0); + Assert.assertEquals(numPoints, track.getNumberOfPoints()); + Assert.assertEquals(numPoints, counter); return lastPointId; } @@ -214,8 +218,8 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { AndroidMock.expect(cursorMock.getString(columnIndex++)).andReturn(name); AndroidMock.replay(cursorMock); Track track = providerUtils.createTrack(cursorMock); - assertEquals(trackId, track.getId()); - assertEquals(name, track.getName()); + Assert.assertEquals(trackId, track.getId()); + Assert.assertEquals(name, track.getName()); AndroidMock.verify(cursorMock); } @@ -232,25 +236,25 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { ContentResolver contentResolver = context.getContentResolver(); Cursor tracksCursor = contentResolver.query(TracksColumns.CONTENT_URI, null, null, null, TracksColumns._ID); - assertEquals(1, tracksCursor.getCount()); + Assert.assertEquals(1, tracksCursor.getCount()); Cursor tracksPointsCursor = contentResolver.query(TrackPointsColumns.CONTENT_URI, null, null, null, TrackPointsColumns._ID); - assertEquals(10, tracksPointsCursor.getCount()); + Assert.assertEquals(10, tracksPointsCursor.getCount()); Cursor waypointCursor = contentResolver.query(WaypointsColumns.CONTENT_URI, null, null, null, WaypointsColumns._ID); - assertEquals(1, waypointCursor.getCount()); + Assert.assertEquals(1, waypointCursor.getCount()); // Delete all. providerUtils.deleteAllTracks(context); // Check whether all have been deleted. tracksCursor = contentResolver.query(TracksColumns.CONTENT_URI, null, null, null, TracksColumns._ID); - assertEquals(0, tracksCursor.getCount()); + Assert.assertEquals(0, tracksCursor.getCount()); tracksPointsCursor = contentResolver.query(TrackPointsColumns.CONTENT_URI, null, null, null, TrackPointsColumns._ID); - assertEquals(0, tracksPointsCursor.getCount()); + Assert.assertEquals(0, tracksPointsCursor.getCount()); waypointCursor = contentResolver.query(WaypointsColumns.CONTENT_URI, null, null, null, WaypointsColumns._ID); - assertEquals(0, waypointCursor.getCount()); + Assert.assertEquals(0, waypointCursor.getCount()); } /** @@ -272,25 +276,25 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { ContentResolver contentResolver = context.getContentResolver(); Cursor tracksCursor = contentResolver.query(TracksColumns.CONTENT_URI, null, null, null, TracksColumns._ID); - assertEquals(3, tracksCursor.getCount()); + Assert.assertEquals(3, tracksCursor.getCount()); Cursor tracksPointsCursor = contentResolver.query(TrackPointsColumns.CONTENT_URI, null, null, null, TrackPointsColumns._ID); - assertEquals(20, tracksPointsCursor.getCount()); + Assert.assertEquals(20, tracksPointsCursor.getCount()); Cursor waypointCursor = contentResolver.query(WaypointsColumns.CONTENT_URI, null, null, null, WaypointsColumns._ID); - assertEquals(1, waypointCursor.getCount()); + Assert.assertEquals(1, waypointCursor.getCount()); // Delete one track. providerUtils.deleteTrack(context, trackId); // Check whether all data of a track has been deleted. tracksCursor = contentResolver.query(TracksColumns.CONTENT_URI, null, null, null, TracksColumns._ID); - assertEquals(2, tracksCursor.getCount()); + Assert.assertEquals(2, tracksCursor.getCount()); tracksPointsCursor = contentResolver.query(TrackPointsColumns.CONTENT_URI, null, null, null, TrackPointsColumns._ID); - assertEquals(20, tracksPointsCursor.getCount()); + Assert.assertEquals(20, tracksPointsCursor.getCount()); waypointCursor = contentResolver.query(WaypointsColumns.CONTENT_URI, null, null, null, WaypointsColumns._ID); - assertEquals(0, waypointCursor.getCount()); + Assert.assertEquals(0, waypointCursor.getCount()); } /** @@ -301,8 +305,8 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { long trackId = System.currentTimeMillis(); providerUtils.insertTrack(getTrack(trackId, 0)); List allTracks = providerUtils.getAllTracks(); - assertEquals(initialTrackNumber + 1, allTracks.size()); - assertEquals(trackId, allTracks.get(allTracks.size() - 1).getId()); + Assert.assertEquals(initialTrackNumber + 1, allTracks.size()); + Assert.assertEquals(trackId, allTracks.get(allTracks.size() - 1).getId()); } /** @@ -311,7 +315,7 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { public void testGetLastTrack() { long trackId = System.currentTimeMillis(); providerUtils.insertTrack(getTrack(trackId, 0)); - assertEquals(trackId, providerUtils.getLastTrack().getId()); + Assert.assertEquals(trackId, providerUtils.getLastTrack().getId()); } /** @@ -320,7 +324,7 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { public void testGetTrack() { long trackId = System.currentTimeMillis(); providerUtils.insertTrack(getTrack(trackId, 0)); - assertNotNull(providerUtils.getTrack(trackId)); + Assert.assertNotNull(providerUtils.getTrack(trackId)); } /** @@ -333,10 +337,10 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { String nameNew = "name2"; track.setName(nameOld); providerUtils.insertTrack(track); - assertEquals(nameOld, providerUtils.getTrack(trackId).getName()); + Assert.assertEquals(nameOld, providerUtils.getTrack(trackId).getName()); track.setName(nameNew); providerUtils.updateTrack(track); - assertEquals(nameNew, providerUtils.getTrack(trackId).getName()); + Assert.assertEquals(nameNew, providerUtils.getTrack(trackId).getName()); } /** @@ -383,11 +387,11 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { long waypointId = System.currentTimeMillis(); waypoint.setId(waypointId); ContentValues contentValues = myTracksProviderUtilsImpl.createContentValues(waypoint); - assertEquals(waypointId, contentValues.get(WaypointsColumns._ID)); - assertEquals(22 * 1000000, contentValues.get(WaypointsColumns.LONGITUDE)); - assertEquals(TEST_DESC, contentValues.get(WaypointsColumns.DESCRIPTION)); - assertEquals(startTime, contentValues.get(WaypointsColumns.STARTTIME)); - assertEquals(minGrade, contentValues.get(WaypointsColumns.MINGRADE)); + Assert.assertEquals(waypointId, contentValues.get(WaypointsColumns._ID)); + Assert.assertEquals(22 * 1000000, contentValues.get(WaypointsColumns.LONGITUDE)); + Assert.assertEquals(TEST_DESC, contentValues.get(WaypointsColumns.DESCRIPTION)); + Assert.assertEquals(startTime, contentValues.get(WaypointsColumns.STARTTIME)); + Assert.assertEquals(minGrade, contentValues.get(WaypointsColumns.MINGRADE)); } /** @@ -423,9 +427,9 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { AndroidMock.expect(cursorMock.getLong(columnIndex++)).andReturn(trackId); AndroidMock.replay(cursorMock); Waypoint waypoint = providerUtils.createWaypoint(cursorMock); - assertEquals(id, waypoint.getId()); - assertEquals(name, waypoint.getName()); - assertEquals(trackId, waypoint.getTrackId()); + Assert.assertEquals(id, waypoint.getId()); + Assert.assertEquals(name, waypoint.getName()); + Assert.assertEquals(trackId, waypoint.getTrackId()); AndroidMock.verify(cursorMock); } @@ -462,7 +466,7 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { }; providerUtils.deleteWaypoint(context, 1, descriptionGenerator); - assertNull(providerUtils.getWaypoint(1)); + Assert.assertNull(providerUtils.getWaypoint(1)); } /** @@ -517,8 +521,8 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { }; providerUtils.deleteWaypoint(context, 1, descriptionGenerator); - assertNull(providerUtils.getWaypoint(1)); - assertEquals(MyTracksProviderUtilsImplTest.MOCK_DESC, providerUtils.getWaypoint(2) + Assert.assertNull(providerUtils.getWaypoint(1)); + Assert.assertEquals(MyTracksProviderUtilsImplTest.MOCK_DESC, providerUtils.getWaypoint(2) .getDescription()); } @@ -537,8 +541,8 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { providerUtils.insertWaypoint(waypoint1); providerUtils.insertWaypoint(waypoint2); - assertEquals(-1L, providerUtils.getFirstWaypointId(-1)); - assertEquals(1L, providerUtils.getFirstWaypointId(trackId)); + Assert.assertEquals(-1L, providerUtils.getFirstWaypointId(-1)); + Assert.assertEquals(1L, providerUtils.getFirstWaypointId(trackId)); } /** @@ -566,8 +570,8 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { providerUtils.insertWaypoint(waypoint3); providerUtils.insertWaypoint(waypoint4); - assertEquals(2, providerUtils.getNextWaypointNumber(trackId, WaypointType.STATISTICS)); - assertEquals(3, providerUtils.getNextWaypointNumber(trackId, WaypointType.WAYPOINT)); + Assert.assertEquals(2, providerUtils.getNextWaypointNumber(trackId, WaypointType.STATISTICS)); + Assert.assertEquals(3, providerUtils.getNextWaypointNumber(trackId, WaypointType.WAYPOINT)); } /** @@ -595,7 +599,7 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { providerUtils.insertWaypoint(waypoint2); providerUtils.insertWaypoint(waypoint3); - assertEquals("Desc2", providerUtils.getLastWaypoint(trackId, WaypointType.STATISTICS).getDescription()); + Assert.assertEquals("Desc2", providerUtils.getLastWaypoint(trackId, WaypointType.STATISTICS).getDescription()); } /** @@ -612,7 +616,7 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { waypoint.setTrackId(trackId); providerUtils.insertWaypoint(waypoint); - assertEquals(TEST_DESC, providerUtils.getWaypoint(1).getDescription()); + Assert.assertEquals(TEST_DESC, providerUtils.getWaypoint(1).getDescription()); } /** @@ -632,7 +636,7 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { waypoint.setDescription(TEST_DESC_NEW); providerUtils.updateWaypoint(waypoint); - assertEquals(TEST_DESC_NEW, providerUtils.getWaypoint(1).getDescription()); + Assert.assertEquals(TEST_DESC_NEW, providerUtils.getWaypoint(1).getDescription()); } /** @@ -646,9 +650,9 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { insertTrackWithLocations(track); providerUtils.bulkInsertTrackPoint(track.getLocations().toArray(new Location[0]), -1, trackId); - assertEquals(20, providerUtils.getTrackPointCursor(trackId, -1L, 1000, false).getCount()); + Assert.assertEquals(20, providerUtils.getTrackPointCursor(trackId, -1L, 1000, false).getCount()); providerUtils.bulkInsertTrackPoint(track.getLocations().toArray(new Location[0]), 8, trackId); - assertEquals(28, providerUtils.getTrackPointCursor(trackId, -1L, 1000, false).getCount()); + Assert.assertEquals(28, providerUtils.getTrackPointCursor(trackId, -1L, 1000, false).getCount()); } /** @@ -711,10 +715,10 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { AndroidMock.replay(cursorMock); Location location = providerUtils.createTrackPoint(cursorMock); - assertEquals((double) longitude, location.getLongitude()); - assertEquals((double) latitude, location.getLatitude()); - assertEquals(time, location.getTime()); - assertEquals(speed, location.getSpeed()); + Assert.assertEquals((double) longitude, location.getLongitude()); + Assert.assertEquals((double) latitude, location.getLatitude()); + Assert.assertEquals(time, location.getTime()); + Assert.assertEquals(speed, location.getSpeed()); AndroidMock.verify(cursorMock); } @@ -729,7 +733,7 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { insertTrackWithLocations(track); providerUtils.insertTrackPoint(createLocation(22), trackId); - assertEquals(11, providerUtils.getTrackPointCursor(trackId, -1L, 1000, false).getCount()); + Assert.assertEquals(11, providerUtils.getTrackPointCursor(trackId, -1L, 1000, false).getCount()); } /** @@ -741,7 +745,7 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { Track track = getTrack(trackId, 10); insertTrackWithLocations(track); - assertEquals(1, providerUtils.getFirstTrackPointId(trackId)); + Assert.assertEquals(1, providerUtils.getFirstTrackPointId(trackId)); } /** @@ -753,7 +757,7 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { Track track = getTrack(trackId, 10); insertTrackWithLocations(track); - assertEquals(10, providerUtils.getLastTrackPointId(trackId)); + Assert.assertEquals(10, providerUtils.getLastTrackPointId(trackId)); } /** @@ -781,7 +785,7 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { insertTrackWithLocations(track); Cursor cursor = providerUtils.getTrackPointCursor(trackId, 2L, 5, true); - assertEquals(2, cursor.getCount()); + Assert.assertEquals(2, cursor.getCount()); } /** @@ -796,7 +800,7 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { insertTrackWithLocations(track); Cursor cursor = providerUtils.getTrackPointCursor(trackId, 2L, 5, false); - assertEquals(5, cursor.getCount()); + Assert.assertEquals(5, cursor.getCount()); } /** @@ -815,12 +819,12 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { LocationIterator locationIterator = providerUtils.getTrackPointLocationIterator(trackId, startTrackPointId, true, MyTracksProviderUtils.DEFAULT_LOCATION_FACTORY); for (int i = 1; i >= 0; i--) { - assertTrue(locationIterator.hasNext()); + Assert.assertTrue(locationIterator.hasNext()); Location location = locationIterator.next(); - assertEquals(2 + (i - 1), locationIterator.getLocationId()); + Assert.assertEquals(2 + (i - 1), locationIterator.getLocationId()); checkLocation(i, location); } - assertFalse(locationIterator.hasNext()); + Assert.assertFalse(locationIterator.hasNext()); } /** @@ -840,12 +844,12 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { startTrackPointId, false, MyTracksProviderUtils.DEFAULT_LOCATION_FACTORY); for (int i = 1; i < 10; i++) { - assertTrue(locationIterator.hasNext()); + Assert.assertTrue(locationIterator.hasNext()); Location location = locationIterator.next(); - assertEquals(2 + (i - 1), locationIterator.getLocationId()); + Assert.assertEquals(2 + (i - 1), locationIterator.getLocationId()); checkLocation(i, location); } - assertFalse(locationIterator.hasNext()); + Assert.assertFalse(locationIterator.hasNext()); } /** @@ -889,10 +893,10 @@ public class MyTracksProviderUtilsImplTest extends AndroidTestCase { * @param location the location to be checked */ private void checkLocation(int i, Location location) { - assertEquals(INITIAL_LATITUDE + (double) i / 10000.0, location.getLatitude()); - assertEquals(INITIAL_LONGITUDE - (double) i / 10000.0, location.getLongitude()); - assertEquals((float) i / 100.0f, location.getAccuracy()); - assertEquals(i * ALTITUDE_INTERVAL, location.getAltitude()); + Assert.assertEquals(INITIAL_LATITUDE + (double) i / 10000.0, location.getLatitude()); + Assert.assertEquals(INITIAL_LONGITUDE - (double) i / 10000.0, location.getLongitude()); + Assert.assertEquals((float) i / 100.0f, location.getAccuracy()); + Assert.assertEquals(i * ALTITUDE_INTERVAL, location.getAltitude()); } /** diff --git a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/SearchEngineTest.java b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/SearchEngineTest.java index 1c77c57f0..bcf94cdc9 100644 --- a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/SearchEngineTest.java +++ b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/SearchEngineTest.java @@ -16,17 +16,22 @@ package com.google.android.apps.mytracks.content; +import android.content.ContentUris; +import android.location.Location; +import android.net.Uri; +import android.test.RenamingDelegatingContext; +import android.test.mock.MockContentResolver; + +import androidx.test.ext.junit.runners.AndroidJUnit4; + import com.google.android.apps.mytracks.content.SearchEngine.ScoredResult; import com.google.android.apps.mytracks.content.SearchEngine.SearchQuery; import com.google.android.apps.mytracks.services.TrackRecordingServiceTest.MockContext; import com.google.android.apps.mytracks.stats.TripStatistics; -import android.content.ContentUris; -import android.location.Location; -import android.net.Uri; -import android.test.AndroidTestCase; -import android.test.RenamingDelegatingContext; -import android.test.mock.MockContentResolver; +import org.junit.After; +import org.junit.Before; +import org.junit.runner.RunWith; import java.util.ArrayList; import java.util.Arrays; @@ -40,17 +45,16 @@ import java.util.List; * * @author Rodrigo Damazio */ -public class SearchEngineTest extends AndroidTestCase { +@RunWith(AndroidJUnit4.class) +public class SearchEngineTest { private static final Location HERE = new Location("gps"); private static final long NOW = 1234567890000L; // After OLDEST_ALLOWED_TIMESTAMP private MyTracksProviderUtils providerUtils; private SearchEngine engine; - @Override - protected void setUp() throws Exception { - super.setUp(); - + @Before + protected void setUp() { MockContentResolver mockContentResolver = new MockContentResolver(); RenamingDelegatingContext targetContext = new RenamingDelegatingContext( getContext(), getContext(), "test."); @@ -64,11 +68,9 @@ public class SearchEngineTest extends AndroidTestCase { engine = new SearchEngine(providerUtils); } - @Override + @After protected void tearDown() throws Exception { providerUtils.deleteAllTracks(getContext()); - - super.tearDown(); } private long insertTrack(String title, String description, String category, double distance, long hoursAgo) { diff --git a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/TrackDataHubTest.java b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/TrackDataHubTest.java index dfa74c587..303140095 100644 --- a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/TrackDataHubTest.java +++ b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/TrackDataHubTest.java @@ -15,10 +15,18 @@ */ package com.google.android.apps.mytracks.content; -import static com.google.android.testing.mocking.AndroidMock.capture; -import static com.google.android.testing.mocking.AndroidMock.eq; -import static com.google.android.testing.mocking.AndroidMock.expect; -import static com.google.android.testing.mocking.AndroidMock.isA; +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.OnSharedPreferenceChangeListener; +import android.database.ContentObserver; +import android.database.Cursor; +import android.database.MatrixCursor; +import android.location.Location; +import android.provider.BaseColumns; +import android.test.RenamingDelegatingContext; +import android.test.mock.MockContentResolver; + +import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.android.apps.mytracks.Constants; import com.google.android.apps.mytracks.TrackStubUtils; @@ -30,31 +38,27 @@ import com.google.android.maps.mytracks.R; import com.google.android.testing.mocking.AndroidMock; import com.google.android.testing.mocking.UsesMocks; -import android.content.Context; -import android.content.SharedPreferences; -import android.content.SharedPreferences.OnSharedPreferenceChangeListener; -import android.database.ContentObserver; -import android.database.Cursor; -import android.database.MatrixCursor; -import android.location.Location; -import android.provider.BaseColumns; -import android.test.AndroidTestCase; -import android.test.RenamingDelegatingContext; -import android.test.mock.MockContentResolver; +import org.easymock.Capture; +import org.easymock.IAnswer; +import org.junit.Before; +import org.junit.runner.RunWith; import java.util.EnumSet; import java.util.HashSet; import java.util.Set; -import org.easymock.Capture; -import org.easymock.IAnswer; +import static com.google.android.testing.mocking.AndroidMock.capture; +import static com.google.android.testing.mocking.AndroidMock.eq; +import static com.google.android.testing.mocking.AndroidMock.expect; +import static com.google.android.testing.mocking.AndroidMock.isA; /** * Tests for {@link TrackDataHub}. * * @author Rodrigo Damazio */ -public class TrackDataHubTest extends AndroidTestCase { +@RunWith(AndroidJUnit4.class) +public class TrackDataHubTest { private static final long TRACK_ID = 42L; private static final int TARGET_POINTS = 50; @@ -70,10 +74,10 @@ public class TrackDataHubTest extends AndroidTestCase { private Capture preferenceChangeListenerCapture = new Capture< SharedPreferences.OnSharedPreferenceChangeListener>(); + @Before @UsesMocks({ MyTracksProviderUtils.class, DataSource.class, TrackDataListener.class }) @Override - protected void setUp() throws Exception { - super.setUp(); + protected void setUp() { context = new MockContext(new MockContentResolver(), new RenamingDelegatingContext( getContext(), getContext(), "test.")); sharedPreferences = context.getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE); diff --git a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/WaypointCreationRequestTest.java b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/WaypointCreationRequestTest.java index 9bf8e8a67..a4510fe20 100644 --- a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/WaypointCreationRequestTest.java +++ b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/content/WaypointCreationRequestTest.java @@ -15,10 +15,14 @@ */ package com.google.android.apps.mytracks.content; +import android.os.Parcel; + +import androidx.test.ext.junit.runners.AndroidJUnit4; + import com.google.android.apps.mytracks.content.Waypoint.WaypointType; -import android.os.Parcel; -import android.test.AndroidTestCase; +import org.junit.Assert; +import org.junit.runner.RunWith; /** * Tests for the WaypointCreationRequest class. @@ -26,7 +30,8 @@ import android.test.AndroidTestCase; * * @author Sandor Dornbush */ -public class WaypointCreationRequestTest extends AndroidTestCase { +@RunWith(AndroidJUnit4.class) +public class WaypointCreationRequestTest { public void testTypeParceling() { WaypointCreationRequest original = WaypointCreationRequest.DEFAULT_WAYPOINT; @@ -34,11 +39,11 @@ public class WaypointCreationRequestTest extends AndroidTestCase { original.writeToParcel(p, 0); p.setDataPosition(0); WaypointCreationRequest copy = WaypointCreationRequest.CREATOR.createFromParcel(p); - assertEquals(original.getType(), copy.getType()); - assertFalse(copy.isTrackStatistics()); - assertNull(copy.getName()); - assertNull(copy.getDescription()); - assertNull(copy.getIconUrl()); + Assert.assertEquals(original.getType(), copy.getType()); + Assert.assertFalse(copy.isTrackStatistics()); + Assert.assertNull(copy.getName()); + Assert.assertNull(copy.getDescription()); + Assert.assertNull(copy.getIconUrl()); } public void testAllAttributesParceling() { @@ -48,11 +53,11 @@ public class WaypointCreationRequestTest extends AndroidTestCase { original.writeToParcel(p, 0); p.setDataPosition(0); WaypointCreationRequest copy = WaypointCreationRequest.CREATOR.createFromParcel(p); - assertEquals(original.getType(), copy.getType()); - assertFalse(copy.isTrackStatistics()); - assertEquals("name", copy.getName()); - assertEquals("category", copy.getCategory()); - assertEquals("description", copy.getDescription()); - assertEquals("img.png", copy.getIconUrl()); + Assert.assertEquals(original.getType(), copy.getType()); + Assert.assertFalse(copy.isTrackStatistics()); + Assert.assertEquals("name", copy.getName()); + Assert.assertEquals("category", copy.getCategory()); + Assert.assertEquals("description", copy.getDescription()); + Assert.assertEquals("img.png", copy.getIconUrl()); } } diff --git a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/fragments/ChartFragmentTest.java b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/fragments/ChartFragmentTest.java index 7c0d781a1..9b9ab0a4d 100644 --- a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/fragments/ChartFragmentTest.java +++ b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/fragments/ChartFragmentTest.java @@ -16,6 +16,11 @@ package com.google.android.apps.mytracks.fragments; +import android.location.Location; + +import androidx.test.ext.junit.runners.AndroidJUnit4; +import androidx.test.platform.app.InstrumentationRegistry; + import com.google.android.apps.mytracks.ChartView; import com.google.android.apps.mytracks.TrackStubUtils; import com.google.android.apps.mytracks.content.MyTracksLocation; @@ -23,24 +28,26 @@ import com.google.android.apps.mytracks.content.Sensor; import com.google.android.apps.mytracks.content.Sensor.SensorDataSet; import com.google.android.apps.mytracks.util.UnitConversions; -import android.location.Location; -import android.test.AndroidTestCase; +import org.junit.Assert; +import org.junit.Before; +import org.junit.runner.RunWith; /** * Tests {@link ChartFragment}. * * @author Youtao Liu */ -public class ChartFragmentTest extends AndroidTestCase { +@RunWith(AndroidJUnit4.class) +public class ChartFragmentTest { private static final double HOURS_PER_UNIT = 60.0; private ChartFragment chartFragment; - @Override - protected void setUp() throws Exception { + @Before + protected void setUp() { chartFragment = new ChartFragment(); - chartFragment.setChartView(new ChartView(getContext())); + chartFragment.setChartView(new ChartView(InstrumentationRegistry.getInstrumentation().getContext())); chartFragment.setTripStatisticsUpdater(TrackStubUtils.INITIAL_TIME); } @@ -53,9 +60,9 @@ public class ChartFragmentTest extends AndroidTestCase { // No input. double[] point = fillDataPointTestHelper(myTracksLocation); - assertEquals(Double.NaN, point[ChartView.HEART_RATE_SERIES + 1]); - assertEquals(Double.NaN, point[ChartView.CADENCE_SERIES + 1]); - assertEquals(Double.NaN, point[ChartView.POWER_SERIES + 1]); + Assert.assertEquals(Double.NaN, point[ChartView.HEART_RATE_SERIES + 1]); + Assert.assertEquals(Double.NaN, point[ChartView.CADENCE_SERIES + 1]); + Assert.assertEquals(Double.NaN, point[ChartView.POWER_SERIES + 1]); // Input incorrect state. // Creates SensorData. @@ -73,9 +80,9 @@ public class ChartFragmentTest extends AndroidTestCase { myTracksLocation.setSensorDataSet(sensorDataSet); // Test. point = fillDataPointTestHelper(myTracksLocation); - assertEquals(Double.NaN, point[ChartView.HEART_RATE_SERIES + 1]); - assertEquals(Double.NaN, point[ChartView.CADENCE_SERIES + 1]); - assertEquals(Double.NaN, point[ChartView.POWER_SERIES + 1]); + Assert.assertEquals(Double.NaN, point[ChartView.HEART_RATE_SERIES + 1]); + Assert.assertEquals(Double.NaN, point[ChartView.CADENCE_SERIES + 1]); + Assert.assertEquals(Double.NaN, point[ChartView.POWER_SERIES + 1]); } /** @@ -86,9 +93,9 @@ public class ChartFragmentTest extends AndroidTestCase { MyTracksLocation myTracksLocation = TrackStubUtils.createMyTracksLocation(); // No input. double[] point = fillDataPointTestHelper(myTracksLocation); - assertEquals(Double.NaN, point[ChartView.HEART_RATE_SERIES + 1]); - assertEquals(Double.NaN, point[ChartView.CADENCE_SERIES + 1]); - assertEquals(Double.NaN, point[ChartView.POWER_SERIES + 1]); + Assert.assertEquals(Double.NaN, point[ChartView.HEART_RATE_SERIES + 1]); + Assert.assertEquals(Double.NaN, point[ChartView.CADENCE_SERIES + 1]); + Assert.assertEquals(Double.NaN, point[ChartView.POWER_SERIES + 1]); // Creates SensorData. Sensor.SensorData.Builder heartRateData = Sensor.SensorData.newBuilder() @@ -105,9 +112,9 @@ public class ChartFragmentTest extends AndroidTestCase { myTracksLocation.setSensorDataSet(sensorDataSet); // Test. point = fillDataPointTestHelper(myTracksLocation); - assertEquals(100.0, point[ChartView.HEART_RATE_SERIES + 1]); - assertEquals(101.0, point[ChartView.CADENCE_SERIES + 1]); - assertEquals(102.0, point[ChartView.POWER_SERIES + 1]); + Assert.assertEquals(100.0, point[ChartView.HEART_RATE_SERIES + 1]); + Assert.assertEquals(101.0, point[ChartView.CADENCE_SERIES + 1]); + Assert.assertEquals(102.0, point[ChartView.POWER_SERIES + 1]); } /** @@ -120,12 +127,12 @@ public class ChartFragmentTest extends AndroidTestCase { // Resets last location and writes first location. MyTracksLocation myTracksLocation1 = TrackStubUtils.createMyTracksLocation(); double[] point = fillDataPointTestHelper(myTracksLocation1); - assertEquals(0.0, point[0]); + Assert.assertEquals(0.0, point[0]); // The second is a same location, just different time. MyTracksLocation myTracksLocation2 = TrackStubUtils.createMyTracksLocation(); point = fillDataPointTestHelper(myTracksLocation2); - assertEquals(0.0, point[0]); + Assert.assertEquals(0.0, point[0]); // The third location is a new location, and use metric. MyTracksLocation myTracksLocation3 = TrackStubUtils.createMyTracksLocation(); @@ -137,7 +144,7 @@ public class ChartFragmentTest extends AndroidTestCase { Location.distanceBetween(myTracksLocation2.getLatitude(), myTracksLocation2.getLongitude(), myTracksLocation3.getLatitude(), myTracksLocation3.getLongitude(), results); double distance1 = results[0] * UnitConversions.M_TO_KM; - assertEquals(distance1, point[0]); + Assert.assertEquals(distance1, point[0]); // The fourth location is a new location, and use metric. MyTracksLocation myTracksLocation4 = TrackStubUtils.createMyTracksLocation(); @@ -148,7 +155,7 @@ public class ChartFragmentTest extends AndroidTestCase { Location.distanceBetween(myTracksLocation3.getLatitude(), myTracksLocation3.getLongitude(), myTracksLocation4.getLatitude(), myTracksLocation4.getLongitude(), results); double distance2 = results[0] * UnitConversions.M_TO_KM; - assertEquals((distance1 + distance2), point[0]); + Assert.assertEquals((distance1 + distance2), point[0]); } /** @@ -164,7 +171,7 @@ public class ChartFragmentTest extends AndroidTestCase { // The first is a same location, just different time. MyTracksLocation myTracksLocation1 = TrackStubUtils.createMyTracksLocation(); double[] point = fillDataPointTestHelper(myTracksLocation1); - assertEquals(0.0, point[0]); + Assert.assertEquals(0.0, point[0]); // The second location is a new location, and use imperial. MyTracksLocation myTracksLocation2 = TrackStubUtils.createMyTracksLocation(); @@ -179,7 +186,7 @@ public class ChartFragmentTest extends AndroidTestCase { Location.distanceBetween(myTracksLocation1.getLatitude(), myTracksLocation1.getLongitude(), myTracksLocation2.getLatitude(), myTracksLocation2.getLongitude(), results); double distance1 = results[0] * UnitConversions.M_TO_KM * UnitConversions.KM_TO_MI; - assertEquals(distance1, point[0]); + Assert.assertEquals(distance1, point[0]); // The third location is a new location, and use imperial. MyTracksLocation myTracksLocation3 = TrackStubUtils.createMyTracksLocation(); @@ -193,7 +200,7 @@ public class ChartFragmentTest extends AndroidTestCase { Location.distanceBetween(myTracksLocation2.getLatitude(), myTracksLocation2.getLongitude(), myTracksLocation3.getLatitude(), myTracksLocation3.getLongitude(), results); double distance2 = results[0] * UnitConversions.M_TO_KM * UnitConversions.KM_TO_MI; - assertEquals(distance1 + distance2, point[0]); + Assert.assertEquals(distance1 + distance2, point[0]); } /** @@ -205,12 +212,12 @@ public class ChartFragmentTest extends AndroidTestCase { chartFragment.setChartByDistance(false); MyTracksLocation myTracksLocation1 = TrackStubUtils.createMyTracksLocation(); double[] point = fillDataPointTestHelper(myTracksLocation1); - assertEquals(0.0, point[0]); + Assert.assertEquals(0.0, point[0]); long timeSpan = 222; MyTracksLocation myTracksLocation2 = TrackStubUtils.createMyTracksLocation(); myTracksLocation2.setTime(myTracksLocation1.getTime() + timeSpan); point = fillDataPointTestHelper(myTracksLocation2); - assertEquals((double) timeSpan, point[0]); + Assert.assertEquals((double) timeSpan, point[0]); } /** @@ -225,7 +232,7 @@ public class ChartFragmentTest extends AndroidTestCase { * parameter. Then only one value INITIALLONGTITUDE in buffer. */ double[] point = fillDataPointTestHelper(myTracksLocation1); - assertEquals(TrackStubUtils.INITIAL_ALTITUDE, point[ChartView.ELEVATION_SERIES + 1]); + Assert.assertEquals(TrackStubUtils.INITIAL_ALTITUDE, point[ChartView.ELEVATION_SERIES + 1]); /* * Send another value to buffer, now there are two values, INITIALALTITUDE @@ -234,7 +241,7 @@ public class ChartFragmentTest extends AndroidTestCase { MyTracksLocation myTracksLocation2 = TrackStubUtils.createMyTracksLocation(); myTracksLocation2.setAltitude(TrackStubUtils.INITIAL_ALTITUDE * 2); point = fillDataPointTestHelper(myTracksLocation2); - assertEquals((TrackStubUtils.INITIAL_ALTITUDE + TrackStubUtils.INITIAL_ALTITUDE * 2) / 2.0, + Assert.assertEquals((TrackStubUtils.INITIAL_ALTITUDE + TrackStubUtils.INITIAL_ALTITUDE * 2) / 2.0, point[ChartView.ELEVATION_SERIES + 1]); } @@ -252,7 +259,7 @@ public class ChartFragmentTest extends AndroidTestCase { MyTracksLocation myTracksLocation1 = TrackStubUtils.createMyTracksLocation(); myTracksLocation1.setSpeed(128.5f); double[] point = fillDataPointTestHelper(myTracksLocation1); - assertEquals(0.0, point[ChartView.SPEED_SERIES + 1]); + Assert.assertEquals(0.0, point[ChartView.SPEED_SERIES + 1]); /* * Tests the logic when both metricUnits and reportSpeed are true.This @@ -267,7 +274,7 @@ public class ChartFragmentTest extends AndroidTestCase { myTracksLocation2.setTime(myTracksLocation1.getTime() + 222); myTracksLocation2.setSpeed(130); point = fillDataPointTestHelper(myTracksLocation2); - assertEquals(130.0 * UnitConversions.MS_TO_KMH, point[ChartView.SPEED_SERIES + 1]); + Assert.assertEquals(130.0 * UnitConversions.MS_TO_KMH, point[ChartView.SPEED_SERIES + 1]); } /** @@ -281,7 +288,7 @@ public class ChartFragmentTest extends AndroidTestCase { MyTracksLocation myTracksLocation1 = TrackStubUtils.createMyTracksLocation(); myTracksLocation1.setSpeed(100.0f); double[] point = fillDataPointTestHelper(myTracksLocation1); - assertEquals(0.0, point[ChartView.SPEED_SERIES + 1]); + Assert.assertEquals(0.0, point[ChartView.SPEED_SERIES + 1]); MyTracksLocation myTracksLocation2 = TrackStubUtils.createMyTracksLocation(); @@ -293,8 +300,7 @@ public class ChartFragmentTest extends AndroidTestCase { myTracksLocation2.setTime(myTracksLocation2.getTime() + 222); myTracksLocation2.setSpeed(102); point = fillDataPointTestHelper(myTracksLocation2); - assertEquals(102.0 * UnitConversions.MS_TO_KMH * UnitConversions.KM_TO_MI, - point[ChartView.SPEED_SERIES + 1]); + Assert.assertEquals(102.0 * UnitConversions.MS_TO_KMH * UnitConversions.KM_TO_MI, point[ChartView.SPEED_SERIES + 1]); } /** @@ -308,7 +314,7 @@ public class ChartFragmentTest extends AndroidTestCase { MyTracksLocation myTracksLocation1 = TrackStubUtils.createMyTracksLocation(); myTracksLocation1.setSpeed(100.0f); double[] point = fillDataPointTestHelper(myTracksLocation1); - assertEquals(0.0, point[ChartView.SPEED_SERIES + 1]); + Assert.assertEquals(0.0, point[ChartView.SPEED_SERIES + 1]); MyTracksLocation myTracksLocation2 = TrackStubUtils.createMyTracksLocation(); @@ -320,8 +326,7 @@ public class ChartFragmentTest extends AndroidTestCase { myTracksLocation2.setTime(myTracksLocation2.getTime() + 222); myTracksLocation2.setSpeed(102); point = fillDataPointTestHelper(myTracksLocation2); - assertEquals( - HOURS_PER_UNIT / (102.0 * UnitConversions.MS_TO_KMH), point[ChartView.PACE_SERIES + 1]); + Assert.assertEquals(HOURS_PER_UNIT / (102.0 * UnitConversions.MS_TO_KMH), point[ChartView.PACE_SERIES + 1]); } /** @@ -334,7 +339,7 @@ public class ChartFragmentTest extends AndroidTestCase { MyTracksLocation myTracksLocation = TrackStubUtils.createMyTracksLocation(); myTracksLocation.setSpeed(0); double[] point = fillDataPointTestHelper(myTracksLocation); - assertEquals(0.0, point[ChartView.PACE_SERIES + 1]); + Assert.assertEquals(0.0, point[ChartView.PACE_SERIES + 1]); } /** diff --git a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/io/file/exporter/GpxTrackWriterTest.java b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/io/file/exporter/GpxTrackWriterTest.java deleted file mode 100644 index 35e9f6a14..000000000 --- a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/io/file/exporter/GpxTrackWriterTest.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 2010 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package com.google.android.apps.mytracks.io.file.exporter; - -import com.google.android.apps.mytracks.io.file.exporter.GpxTrackWriter; - -import java.util.List; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -/** - * Tests for {@link GpxTrackWriter}. - * - * @author Rodrigo Damazio - */ -public class GpxTrackWriterTest extends TrackWriterTest { - - public void testXmlOutput() throws Exception { - GpxTrackWriter gpxTrackWriter = new GpxTrackWriter(getContext()); - String result = writeTrack(gpxTrackWriter); - Document doc = parseXmlDocument(result); - - Element gpxTag = getChildElement(doc, "gpx"); - Element trackTag = getChildElement(gpxTag, "trk"); - assertEquals(TRACK_NAME, getChildTextValue(trackTag, "name")); - assertEquals(TRACK_DESCRIPTION, getChildTextValue(trackTag, "desc")); - List segmentTags = getChildElements(trackTag, "trkseg", 2); - List segPointTags = getChildElements(segmentTags.get(0), "trkpt", 2); - assertTagMatchesLocation(segPointTags.get(0), "0", "0", "1970-01-01T00:00:00.000Z", "0"); - assertTagMatchesLocation(segPointTags.get(1), "1", "-1", "1970-01-01T00:01:40.000Z", "10"); - - segPointTags = getChildElements(segmentTags.get(1), "trkpt", 2); - assertTagMatchesLocation(segPointTags.get(0), "2", "-2", "1970-01-01T00:03:20.000Z", "20"); - assertTagMatchesLocation(segPointTags.get(1), "3", "-3", "1970-01-01T00:05:00.000Z", "30"); - - List waypointTags = getChildElements(gpxTag, "wpt", 2); - Element wptTag = waypointTags.get(0); - assertEquals(WAYPOINT1_NAME, getChildTextValue(wptTag, "name")); - assertEquals(WAYPOINT1_DESCRIPTION, getChildTextValue(wptTag, "desc")); - assertTagMatchesLocation(wptTag, "1", "-1", "1970-01-01T00:01:40.000Z", "10"); - - wptTag = waypointTags.get(1); - assertEquals(WAYPOINT2_NAME, getChildTextValue(wptTag, "name")); - assertEquals(WAYPOINT2_DESCRIPTION, getChildTextValue(wptTag, "desc")); - assertTagMatchesLocation(wptTag, "2", "-2", "1970-01-01T00:03:20.000Z", "20"); - } - - /** - * Asserts that the given tag describes a location. - * - * @param tag the tag - * @param latitude the location's latitude - * @param longitude the location's longitude - * @param time the location's time - * @param elevation the location's elevation - */ - private void assertTagMatchesLocation( - Element tag, String latitude, String longitude, String time, String elevation) { - assertEquals(latitude, tag.getAttribute("lat")); - assertEquals(longitude, tag.getAttribute("lon")); - assertEquals(time, getChildTextValue(tag, "time")); - assertEquals(elevation, getChildTextValue(tag, "ele")); - } -} diff --git a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/io/file/exporter/KmlTrackWriterTest.java b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/io/file/exporter/KmlTrackWriterTest.java deleted file mode 100644 index bf0ffd9b8..000000000 --- a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/io/file/exporter/KmlTrackWriterTest.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright 2010 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package com.google.android.apps.mytracks.io.file.exporter; - -import com.google.android.apps.mytracks.content.DescriptionGenerator; -import com.google.android.apps.mytracks.content.Track; -import com.google.android.apps.mytracks.stats.TripStatistics; - -import android.location.Location; - -import java.util.List; -import java.util.Vector; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -/** - * Tests for {@link KmlTrackWriter}. - * - * @author Rodrigo Damazio - */ -public class KmlTrackWriterTest extends TrackWriterTest { - - private static final String FULL_TRACK_DESCRIPTION = "full track description"; - - /** - * A fake version of {@link DescriptionGenerator} which returns a fixed track - * description, thus not depending on the context. - */ - private class FakeDescriptionGenerator implements DescriptionGenerator { - @Override - public String generateTrackDescription( - Track aTrack, Vector distances, Vector elevations, boolean html) { - return FULL_TRACK_DESCRIPTION; - } - - @Override - public String generateWaypointDescription(TripStatistics tripStatistics) { - return null; - } - } - - public void testXmlOutput() throws Exception { - KmlTrackWriter kmlTrackWriter = new KmlTrackWriter( - getContext(), false, false, new FakeDescriptionGenerator()); - String result = writeTrack(kmlTrackWriter); - Document doc = parseXmlDocument(result); - - Element kmlTag = getChildElement(doc, "kml"); - Element docTag = getChildElement(kmlTag, "Document"); - assertEquals(TRACK_NAME, getChildTextValue(docTag, "name")); - - // There are 3 placemarks - start, track, and end - List placemarkTags = getChildElements(docTag, "Placemark", 3); - assertTagIsPlacemark( - placemarkTags.get(0), TRACK_NAME + " (Start)", "", location1); - assertTagIsPlacemark( - placemarkTags.get(2), TRACK_NAME + " (End)", FULL_TRACK_DESCRIPTION, location4); - - List folderTag = getChildElements(docTag, "Folder", 1); - List folderPlacemarkTags = getChildElements(folderTag.get(0), "Placemark", 2); - assertTagIsPlacemark( - folderPlacemarkTags.get(0), WAYPOINT1_NAME, WAYPOINT1_DESCRIPTION, location2); - assertTagIsPlacemark( - folderPlacemarkTags.get(1), WAYPOINT2_NAME, WAYPOINT2_DESCRIPTION, location3); - - Element trackPlacemarkTag = placemarkTags.get(1); - assertEquals(TRACK_NAME, getChildTextValue(trackPlacemarkTag, "name")); - assertEquals(TRACK_DESCRIPTION, getChildTextValue(trackPlacemarkTag, "description")); - Element multiTrackTag = getChildElement(trackPlacemarkTag, "gx:MultiTrack"); - List trackTags = getChildElements(multiTrackTag, "gx:Track", 2); - assertTagHasPoints(trackTags.get(0), location1, location2); - assertTagHasPoints(trackTags.get(1), location3, location4); - } - - /** - * Asserts that the given tag is a placemark with the given properties. - * - * @param tag the tag - * @param name the expected placemark name - * @param description the expected placemark description - * @param location the expected placemark location - */ - private void assertTagIsPlacemark( - Element tag, String name, String description, Location location) { - assertEquals(name, getChildTextValue(tag, "name")); - if (description != null && !description.equals("")) { - assertEquals(description, getChildTextValue(tag, "description")); - } - Element pointTag = getChildElement(tag, "Point"); - String expected = location.getLongitude() + "," + location.getLatitude() + "," - + location.getAltitude(); - String actual = getChildTextValue(pointTag, "coordinates"); - assertEquals(expected, actual); - } - - /** - * Asserts that the given tag has a list of "gx:coord" subtags matching the - * expected locations. - * - * @param tag the parent tag - * @param locations list of expected locations - */ - private void assertTagHasPoints(Element tag, Location... locations) { - List coordTags = getChildElements(tag, "gx:coord", locations.length); - for (int i = 0; i < locations.length; i++) { - Location location = locations[i]; - String expected = location.getLongitude() + " " + location.getLatitude() + " " - + location.getAltitude(); - String actual = coordTags.get(i).getFirstChild().getTextContent(); - assertEquals(expected, actual); - } - } -} diff --git a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java index 08811d7f5..f0f29d51c 100644 --- a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java +++ b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java @@ -15,17 +15,6 @@ */ package com.google.android.apps.mytracks.services; -import com.google.android.apps.mytracks.Constants; -import com.google.android.apps.mytracks.content.MyTracksProvider; -import com.google.android.apps.mytracks.content.MyTracksProviderUtils; -import com.google.android.apps.mytracks.content.Track; -import com.google.android.apps.mytracks.content.Waypoint; -import com.google.android.apps.mytracks.content.Waypoint.WaypointType; -import com.google.android.apps.mytracks.content.WaypointCreationRequest; -import com.google.android.apps.mytracks.stats.TripStatistics; -import com.google.android.apps.mytracks.util.PreferencesUtils; -import com.google.android.maps.mytracks.R; - import android.content.BroadcastReceiver; import android.content.ContentResolver; import android.content.Context; @@ -44,11 +33,21 @@ import android.test.RenamingDelegatingContext; import android.test.ServiceTestCase; import android.test.mock.MockContentProvider; import android.test.mock.MockContentResolver; -import android.test.mock.MockCursor; import android.test.suitebuilder.annotation.MediumTest; import android.test.suitebuilder.annotation.SmallTest; import android.util.Log; +import com.google.android.apps.mytracks.Constants; +import com.google.android.apps.mytracks.content.MyTracksProvider; +import com.google.android.apps.mytracks.content.MyTracksProviderUtils; +import com.google.android.apps.mytracks.content.Track; +import com.google.android.apps.mytracks.content.Waypoint; +import com.google.android.apps.mytracks.content.Waypoint.WaypointType; +import com.google.android.apps.mytracks.content.WaypointCreationRequest; +import com.google.android.apps.mytracks.stats.TripStatistics; +import com.google.android.apps.mytracks.util.PreferencesUtils; +import com.google.android.maps.mytracks.R; + import java.util.ArrayList; import java.util.List; diff --git a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/services/tasks/AnnouncementPeriodicTaskFactoryTest.java b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/services/tasks/AnnouncementPeriodicTaskFactoryTest.java index 34db282fa..ebab80f72 100644 --- a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/services/tasks/AnnouncementPeriodicTaskFactoryTest.java +++ b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/services/tasks/AnnouncementPeriodicTaskFactoryTest.java @@ -16,7 +16,11 @@ package com.google.android.apps.mytracks.services.tasks; -import android.test.AndroidTestCase; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import androidx.test.platform.app.InstrumentationRegistry; + +import org.junit.Assert; +import org.junit.runner.RunWith; /** * Tests for {@link AnnouncementPeriodicTaskFactory}. @@ -24,10 +28,11 @@ import android.test.AndroidTestCase; * * @author Rodrigo Damazio */ -public class AnnouncementPeriodicTaskFactoryTest extends AndroidTestCase { +@RunWith(AndroidJUnit4.class) +public class AnnouncementPeriodicTaskFactoryTest { public void testCreate() { PeriodicTaskFactory factory = new AnnouncementPeriodicTaskFactory(); - PeriodicTask task = factory.create(getContext()); - assertTrue(task instanceof AnnouncementPeriodicTask); + PeriodicTask task = factory.create(InstrumentationRegistry.getInstrumentation().getContext()); + Assert.assertTrue(task instanceof AnnouncementPeriodicTask); } } diff --git a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/stats/TripStatisticsTest.java b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/stats/TripStatisticsTest.java index 3a34bf5ab..f7d90947c 100644 --- a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/stats/TripStatisticsTest.java +++ b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/stats/TripStatisticsTest.java @@ -67,7 +67,6 @@ public class TripStatisticsTest extends TestCase { statistics.setMinGrade(-25.0); // Resulting min grade statistics2.setMaxGrade(35.0); // Resulting max grade statistics2.setMinGrade(0.0); - statistics2.setCalorie(50.0); // Resulting bounds: -10000, 35000, 30000, -40000 statistics.setBounds(-10000, 20000, 30000, -40000); @@ -90,7 +89,6 @@ public class TripStatisticsTest extends TestCase { assertEquals(3575.0, statistics.getMaxElevation()); assertEquals(-25.0, statistics.getMinGrade()); assertEquals(35.0, statistics.getMaxGrade()); - assertEquals(50.0, statistics.getCalorie()); } public void testGetAverageSpeed() { diff --git a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/util/StringUtilsTest.java b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/util/StringUtilsTest.java index e9e797736..7498dfab1 100644 --- a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/util/StringUtilsTest.java +++ b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/util/StringUtilsTest.java @@ -16,7 +16,11 @@ package com.google.android.apps.mytracks.util; -import android.test.AndroidTestCase; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import androidx.test.platform.app.InstrumentationRegistry; + +import org.junit.Assert; +import org.junit.runner.RunWith; import java.util.GregorianCalendar; import java.util.TimeZone; @@ -26,13 +30,14 @@ import java.util.TimeZone; * * @author Rodrigo Damazio */ -public class StringUtilsTest extends AndroidTestCase { +@RunWith(AndroidJUnit4.class) +public class StringUtilsTest { /** * Tests {@link StringUtils#formatDateTimeIso8601(long)}. */ public void testFormatDateTimeIso8601() { - assertEquals("1970-01-01T00:00:12.345Z", StringUtils.formatDateTimeIso8601(12345)); + Assert.assertEquals("1970-01-01T00:00:12.345Z", StringUtils.formatDateTimeIso8601(12345)); } /** @@ -40,19 +45,19 @@ public class StringUtilsTest extends AndroidTestCase { */ public void testformatElapsedTime() { // 1 second - assertEquals("00:01", StringUtils.formatElapsedTime(1000)); + Assert.assertEquals("00:01", StringUtils.formatElapsedTime(1000)); // 10 seconds - assertEquals("00:10", StringUtils.formatElapsedTime(10000)); + Assert.assertEquals("00:10", StringUtils.formatElapsedTime(10000)); // 1 minute - assertEquals("01:00", StringUtils.formatElapsedTime(60000)); + Assert.assertEquals("01:00", StringUtils.formatElapsedTime(60000)); // 10 minutes - assertEquals("10:00", StringUtils.formatElapsedTime(600000)); + Assert.assertEquals("10:00", StringUtils.formatElapsedTime(600000)); // 1 hour - assertEquals("1:00:00", StringUtils.formatElapsedTime(3600000)); + Assert.assertEquals("1:00:00", StringUtils.formatElapsedTime(3600000)); // 10 hours - assertEquals("10:00:00", StringUtils.formatElapsedTime(36000000)); + Assert.assertEquals("10:00:00", StringUtils.formatElapsedTime(36000000)); // 100 hours - assertEquals("100:00:00", StringUtils.formatElapsedTime(360000000)); + Assert.assertEquals("100:00:00", StringUtils.formatElapsedTime(360000000)); } /** @@ -60,19 +65,19 @@ public class StringUtilsTest extends AndroidTestCase { */ public void testformatElapsedTimeWithHour() { // 1 second - assertEquals("0:00:01", StringUtils.formatElapsedTimeWithHour(1000)); + Assert.assertEquals("0:00:01", StringUtils.formatElapsedTimeWithHour(1000)); // 10 seconds - assertEquals("0:00:10", StringUtils.formatElapsedTimeWithHour(10000)); + Assert.assertEquals("0:00:10", StringUtils.formatElapsedTimeWithHour(10000)); // 1 minute - assertEquals("0:01:00", StringUtils.formatElapsedTimeWithHour(60000)); + Assert.assertEquals("0:01:00", StringUtils.formatElapsedTimeWithHour(60000)); // 10 minutes - assertEquals("0:10:00", StringUtils.formatElapsedTimeWithHour(600000)); + Assert.assertEquals("0:10:00", StringUtils.formatElapsedTimeWithHour(600000)); // 1 hour - assertEquals("1:00:00", StringUtils.formatElapsedTimeWithHour(3600000)); + Assert.assertEquals("1:00:00", StringUtils.formatElapsedTimeWithHour(3600000)); // 10 hours - assertEquals("10:00:00", StringUtils.formatElapsedTimeWithHour(36000000)); + Assert.assertEquals("10:00:00", StringUtils.formatElapsedTimeWithHour(36000000)); // 100 hours - assertEquals("100:00:00", StringUtils.formatElapsedTimeWithHour(360000000)); + Assert.assertEquals("100:00:00", StringUtils.formatElapsedTimeWithHour(360000000)); } /** @@ -81,21 +86,21 @@ public class StringUtilsTest extends AndroidTestCase { */ public void testFormatDistance() { // A large number in metric - assertEquals("5.00 km", StringUtils.formatDistance(getContext(), 5000, true)); + Assert.assertEquals("5.00 km", StringUtils.formatDistance(InstrumentationRegistry.getInstrumentation().getContext(), 5000, true)); // A large number in imperial - assertEquals("3.11 mi", StringUtils.formatDistance(getContext(), 5000, false)); + Assert.assertEquals("3.11 mi", StringUtils.formatDistance(InstrumentationRegistry.getInstrumentation().getContext(), 5000, false)); // A small number in metric - assertEquals("100.00 m", StringUtils.formatDistance(getContext(), 100, true)); + Assert.assertEquals("100.00 m", StringUtils.formatDistance(InstrumentationRegistry.getInstrumentation().getContext(), 100, true)); // A small number in imperial - assertEquals("328.08 ft", StringUtils.formatDistance(getContext(), 100, false)); + Assert.assertEquals("328.08 ft", StringUtils.formatDistance(InstrumentationRegistry.getInstrumentation().getContext(), 100, false)); } /** * Tests {@link StringUtils#formatCData(String)}. */ public void testFormatCData() { - assertEquals("", StringUtils.formatCData("hello")); - assertEquals("there]]>", StringUtils.formatCData("hello]]>there")); + Assert.assertEquals("", StringUtils.formatCData("hello")); + Assert.assertEquals("there]]>", StringUtils.formatCData("hello]]>there")); } /** @@ -158,7 +163,7 @@ public class StringUtilsTest extends AndroidTestCase { GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("UTC")); calendar.set(year, month - 1, day, hour, minute, second); calendar.set(GregorianCalendar.MILLISECOND, millisecond); - assertEquals(calendar.getTimeInMillis(), StringUtils.getTime(xmlDateTime)); + Assert.assertEquals(calendar.getTimeInMillis(), StringUtils.getTime(xmlDateTime)); } /** @@ -166,9 +171,9 @@ public class StringUtilsTest extends AndroidTestCase { */ public void testGetTimeParts_postive() { int[] parts = StringUtils.getTimeParts(61000); - assertEquals(1, parts[0]); - assertEquals(1, parts[1]); - assertEquals(0, parts[2]); + Assert.assertEquals(1, parts[0]); + Assert.assertEquals(1, parts[1]); + Assert.assertEquals(0, parts[2]); } /** @@ -176,8 +181,8 @@ public class StringUtilsTest extends AndroidTestCase { */ public void testGetTimeParts_negative() { int[] parts = StringUtils.getTimeParts(-61000); - assertEquals(-1, parts[0]); - assertEquals(-1, parts[1]); - assertEquals(0, parts[2]); + Assert.assertEquals(-1, parts[0]); + Assert.assertEquals(-1, parts[1]); + Assert.assertEquals(0, parts[2]); } } diff --git a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/util/TrackNameUtilsTest.java b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/util/TrackNameUtilsTest.java index 202ec0922..12769113c 100644 --- a/myTracks/src/androidTest/java/com/google/android/apps/mytracks/util/TrackNameUtilsTest.java +++ b/myTracks/src/androidTest/java/com/google/android/apps/mytracks/util/TrackNameUtilsTest.java @@ -16,9 +16,15 @@ package com.google.android.apps.mytracks.util; +import android.content.Context; + +import androidx.test.ext.junit.runners.AndroidJUnit4; +import androidx.test.platform.app.InstrumentationRegistry; + import com.google.android.maps.mytracks.R; -import android.test.AndroidTestCase; +import org.junit.Assert; +import org.junit.runner.RunWith; import java.text.SimpleDateFormat; import java.util.Date; @@ -29,20 +35,22 @@ import java.util.Locale; * * @author Matthew Simmons */ -public class TrackNameUtilsTest extends AndroidTestCase { +@RunWith(AndroidJUnit4.class) +public class TrackNameUtilsTest { private static final long TRACK_ID = 1L; private static final long START_TIME = 1288213406000L; + private static final Context CONTEXT = InstrumentationRegistry.getInstrumentation().getContext(); + /** * Tests when the track_name_key is * settings_recording_track_name_date_local_value. */ public void testTrackName_date_local() { - PreferencesUtils.setString(getContext(), R.string.track_name_key, - getContext().getString(R.string.settings_recording_track_name_date_local_value)); - assertEquals(StringUtils.formatDateTime(getContext(), START_TIME), - TrackNameUtils.getTrackName(getContext(), TRACK_ID, START_TIME, null)); + PreferencesUtils.setString(CONTEXT, R.string.track_name_key, CONTEXT.getString(R.string.settings_recording_track_name_date_local_value)); + Assert.assertEquals(StringUtils.formatDateTime(CONTEXT, START_TIME), + TrackNameUtils.getTrackName(CONTEXT, TRACK_ID, START_TIME, null)); } /** @@ -50,12 +58,11 @@ public class TrackNameUtilsTest extends AndroidTestCase { * settings_recording_track_name_date_iso_8601_value. */ public void testTrackName_date_iso_8601() { - PreferencesUtils.setString(getContext(), R.string.track_name_key, - getContext().getString(R.string.settings_recording_track_name_date_iso_8601_value)); + PreferencesUtils.setString(CONTEXT, R.string.track_name_key, CONTEXT.getString(R.string.settings_recording_track_name_date_iso_8601_value)); SimpleDateFormat simpleDateFormat = new SimpleDateFormat( TrackNameUtils.ISO_8601_FORMAT, Locale.US); - assertEquals(simpleDateFormat.format(new Date(START_TIME)), - TrackNameUtils.getTrackName(getContext(), TRACK_ID, START_TIME, null)); + Assert.assertEquals(simpleDateFormat.format(new Date(START_TIME)), + TrackNameUtils.getTrackName(CONTEXT, TRACK_ID, START_TIME, null)); } /** @@ -63,9 +70,8 @@ public class TrackNameUtilsTest extends AndroidTestCase { * settings_recording_track_name_number_value. */ public void testTrackName_number() { - PreferencesUtils.setString(getContext(), R.string.track_name_key, - getContext().getString(R.string.settings_recording_track_name_number_value)); - assertEquals( - "Track " + TRACK_ID, TrackNameUtils.getTrackName(getContext(), TRACK_ID, START_TIME, null)); + PreferencesUtils.setString(CONTEXT, R.string.track_name_key, CONTEXT.getString(R.string.settings_recording_track_name_number_value)); + Assert.assertEquals( + "Track " + TRACK_ID, TrackNameUtils.getTrackName(CONTEXT, TRACK_ID, START_TIME, null)); } } diff --git a/myTracks/src/main/java/com/google/android/apps/mytracks/io/file/TrackFileFormat.java b/myTracks/src/main/java/com/google/android/apps/mytracks/io/file/TrackFileFormat.java index 11f31d958..ad466cea2 100644 --- a/myTracks/src/main/java/com/google/android/apps/mytracks/io/file/TrackFileFormat.java +++ b/myTracks/src/main/java/com/google/android/apps/mytracks/io/file/TrackFileFormat.java @@ -3,6 +3,7 @@ package com.google.android.apps.mytracks.io.file; import com.google.android.apps.mytracks.io.file.exporter.GpxTrackWriter; import com.google.android.apps.mytracks.io.file.exporter.KmlTrackWriter; import com.google.android.apps.mytracks.io.file.exporter.TrackWriter; +import com.google.android.maps.mytracks.R; import android.content.Context; import android.os.Parcel; @@ -23,7 +24,7 @@ public enum TrackFileFormat implements Parcelable { GPX { @Override public TrackWriter newTrackWriter(Context context, boolean multiple, boolean playTrack) { - return new GpxTrackWriter(context); + return new GpxTrackWriter(context.getString(R.string.send_google_by_my_tracks, "", "")); } }; diff --git a/myTracks/src/main/java/com/google/android/apps/mytracks/io/file/exporter/GpxTrackWriter.java b/myTracks/src/main/java/com/google/android/apps/mytracks/io/file/exporter/GpxTrackWriter.java index 487165899..61a4c8f2e 100644 --- a/myTracks/src/main/java/com/google/android/apps/mytracks/io/file/exporter/GpxTrackWriter.java +++ b/myTracks/src/main/java/com/google/android/apps/mytracks/io/file/exporter/GpxTrackWriter.java @@ -16,14 +16,12 @@ package com.google.android.apps.mytracks.io.file.exporter; +import android.location.Location; + import com.google.android.apps.mytracks.content.Track; import com.google.android.apps.mytracks.content.Waypoint; import com.google.android.apps.mytracks.io.file.TrackFileFormat; import com.google.android.apps.mytracks.util.StringUtils; -import com.google.android.maps.mytracks.R; - -import android.content.Context; -import android.location.Location; import java.io.OutputStream; import java.io.PrintWriter; @@ -52,11 +50,11 @@ public class GpxTrackWriter implements TrackWriter { COORDINATE_FORMAT.setGroupingUsed(false); } - private final Context context; + private final String creator; private PrintWriter printWriter; - public GpxTrackWriter(Context context) { - this.context = context; + public GpxTrackWriter(String creator) { + this.creator = creator; } @Override @@ -84,7 +82,7 @@ public class GpxTrackWriter implements TrackWriter { printWriter.println("