forked from upstream-mirrors/OpenTracks
When play track, add a containing folder to contain all the merged tracks
This commit is contained in:
+143
-76
@@ -13,6 +13,7 @@
|
||||
* License for the specific language governing permissions and limitations under
|
||||
* the License.
|
||||
*/
|
||||
|
||||
package com.google.android.apps.mytracks.content;
|
||||
|
||||
import com.google.android.apps.mytracks.content.MyTracksProvider.DatabaseHelper;
|
||||
@@ -22,150 +23,202 @@ import android.net.Uri;
|
||||
import android.test.AndroidTestCase;
|
||||
|
||||
/**
|
||||
* A unit test for {@link MyTracksProvider}.
|
||||
* Tests {@link MyTracksProvider}.
|
||||
*
|
||||
* @author Youtao Liu
|
||||
*/
|
||||
public class MyTracksProviderTest extends AndroidTestCase {
|
||||
|
||||
private static final String DATABASE_NAME = "mytrackstest.db";
|
||||
|
||||
private SQLiteDatabase db;
|
||||
private MyTracksProvider myTracksProvider;
|
||||
private String DATABASE_NAME = "mytrackstest.db";
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
getContext().deleteDatabase(DATABASE_NAME);
|
||||
db = (new DatabaseHelper(getContext(), DATABASE_NAME)).getWritableDatabase();
|
||||
|
||||
myTracksProvider = new MyTracksProvider();
|
||||
super.setUp();
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests the method {@link MyTracksProvider.DatabaseHelper#onCreate()}.
|
||||
* Tests {@link MyTracksProvider.DatabaseHelper#onCreate(SQLiteDatabase)}.
|
||||
*/
|
||||
public void testDatabaseHelper_OnCreate() {
|
||||
assertTrue(checkTable(TrackPointsColumns.TABLE_NAME));
|
||||
assertTrue(checkTable(TracksColumns.TABLE_NAME));
|
||||
assertTrue(checkTable(WaypointsColumns.TABLE_NAME));
|
||||
assertTrue(hasTable(TracksColumns.TABLE_NAME));
|
||||
assertTrue(hasTable(TrackPointsColumns.TABLE_NAME));
|
||||
assertTrue(hasTable(WaypointsColumns.TABLE_NAME));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests the method
|
||||
* {@link MyTracksProvider.DatabaseHelper#onUpgrade(SQLiteDatabase, int, int)}
|
||||
* when version is less than 17.
|
||||
* Tests {@link MyTracksProvider.DatabaseHelper#onUpgrade(SQLiteDatabase, int,
|
||||
* int)} when version is less than 17.
|
||||
*/
|
||||
public void testDatabaseHelper_onUpgrade_Version16() {
|
||||
DatabaseHelper databaseHelper = new DatabaseHelper(getContext());
|
||||
dropTable(TrackPointsColumns.TABLE_NAME);
|
||||
dropTable(TracksColumns.TABLE_NAME);
|
||||
dropTable(TrackPointsColumns.TABLE_NAME);
|
||||
dropTable(WaypointsColumns.TABLE_NAME);
|
||||
databaseHelper.onUpgrade(db, 16, 20);
|
||||
assertTrue(checkTable(TrackPointsColumns.TABLE_NAME));
|
||||
assertTrue(checkTable(TracksColumns.TABLE_NAME));
|
||||
assertTrue(checkTable(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 the method
|
||||
* {@link MyTracksProvider.DatabaseHelper#onUpgrade(SQLiteDatabase, int, int)}
|
||||
* when version is 17.
|
||||
* Tests {@link MyTracksProvider.DatabaseHelper#onUpgrade(SQLiteDatabase, int,
|
||||
* int)} when version is 17.
|
||||
*/
|
||||
public void testDatabaseHelper_onUpgrade_Version17() {
|
||||
DatabaseHelper databaseHelper = new DatabaseHelper(getContext());
|
||||
setupUpgrade(17);
|
||||
|
||||
// Make two table is only contains one normal integer column.
|
||||
dropTable(TrackPointsColumns.TABLE_NAME);
|
||||
dropTable(TracksColumns.TABLE_NAME);
|
||||
createEmptyTable(TrackPointsColumns.TABLE_NAME);
|
||||
createEmptyTable(TracksColumns.TABLE_NAME);
|
||||
databaseHelper.onUpgrade(db, 17, 20);
|
||||
assertTrue(isColumnExisted(TrackPointsColumns.TABLE_NAME, TrackPointsColumns.SENSOR));
|
||||
assertTrue(isColumnExisted(TracksColumns.TABLE_NAME, TracksColumns.TABLEID));
|
||||
assertTrue(isColumnExisted(TracksColumns.TABLE_NAME, TracksColumns.ICON));
|
||||
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 the method
|
||||
* {@link MyTracksProvider.DatabaseHelper#onUpgrade(SQLiteDatabase, int, int)}
|
||||
* when version is 18.
|
||||
* Tests {@link MyTracksProvider.DatabaseHelper#onUpgrade(SQLiteDatabase, int,
|
||||
* int)} when version is 18.
|
||||
*/
|
||||
public void testDatabaseHelper_onUpgrade_Version18() {
|
||||
DatabaseHelper databaseHelper = new DatabaseHelper(getContext());
|
||||
setupUpgrade(18);
|
||||
|
||||
// Make two table is only contains one normal integer column.
|
||||
dropTable(TrackPointsColumns.TABLE_NAME);
|
||||
dropTable(TracksColumns.TABLE_NAME);
|
||||
createEmptyTable(TrackPointsColumns.TABLE_NAME);
|
||||
createEmptyTable(TracksColumns.TABLE_NAME);
|
||||
databaseHelper.onUpgrade(db, 18, 20);
|
||||
assertFalse(isColumnExisted(TrackPointsColumns.TABLE_NAME, TrackPointsColumns.SENSOR));
|
||||
assertTrue(isColumnExisted(TracksColumns.TABLE_NAME, TracksColumns.TABLEID));
|
||||
assertTrue(isColumnExisted(TracksColumns.TABLE_NAME, TracksColumns.ICON));
|
||||
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 the method
|
||||
* {@link MyTracksProvider.DatabaseHelper#onUpgrade(SQLiteDatabase, int, int)}
|
||||
* when version is 19.
|
||||
* Tests {@link MyTracksProvider.DatabaseHelper#onUpgrade(SQLiteDatabase, int,
|
||||
* int)} when version is 19.
|
||||
*/
|
||||
public void testDatabaseHelper_onUpgrade_Version19() {
|
||||
DatabaseHelper databaseHelper = new DatabaseHelper(getContext());
|
||||
setupUpgrade(19);
|
||||
|
||||
// Make two table is only contains one normal integer column.
|
||||
dropTable(TrackPointsColumns.TABLE_NAME);
|
||||
dropTable(TracksColumns.TABLE_NAME);
|
||||
createEmptyTable(TrackPointsColumns.TABLE_NAME);
|
||||
createEmptyTable(TracksColumns.TABLE_NAME);
|
||||
databaseHelper.onUpgrade(db, 19, 20);
|
||||
assertFalse(isColumnExisted(TrackPointsColumns.TABLE_NAME, TrackPointsColumns.SENSOR));
|
||||
assertFalse(isColumnExisted(TracksColumns.TABLE_NAME, TracksColumns.TABLEID));
|
||||
assertTrue(isColumnExisted(TracksColumns.TABLE_NAME, TracksColumns.ICON));
|
||||
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 the method {@link MyTracksProvider#onCreate()}.
|
||||
* 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));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests {@link MyTracksProvider#onCreate(android.content.Context)}.
|
||||
*/
|
||||
public void testOnCreate() {
|
||||
assertTrue(myTracksProvider.onCreate(getContext()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests the method {@link MyTracksProvider#getType(Uri)}.
|
||||
* Tests {@link MyTracksProvider#getType(Uri)}.
|
||||
*/
|
||||
public void testGetType() {
|
||||
assertEquals(TrackPointsColumns.CONTENT_TYPE,
|
||||
myTracksProvider.getType(TrackPointsColumns.CONTENT_URI));
|
||||
assertEquals(TracksColumns.CONTENT_TYPE, myTracksProvider.getType(TracksColumns.CONTENT_URI));
|
||||
assertEquals(WaypointsColumns.CONTENT_TYPE,
|
||||
myTracksProvider.getType(WaypointsColumns.CONTENT_URI));
|
||||
assertEquals(
|
||||
TrackPointsColumns.CONTENT_TYPE, myTracksProvider.getType(TrackPointsColumns.CONTENT_URI));
|
||||
assertEquals(
|
||||
WaypointsColumns.CONTENT_TYPE, myTracksProvider.getType(WaypointsColumns.CONTENT_URI));
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an table only contains one column.
|
||||
* Creates a table, containing one column.
|
||||
*
|
||||
* @param table the name of table
|
||||
* @param table the table name
|
||||
*/
|
||||
private void createEmptyTable(String table) {
|
||||
private void createTable(String table) {
|
||||
db.execSQL("CREATE TABLE " + table + " (test INTEGER)");
|
||||
}
|
||||
|
||||
/**
|
||||
* Drops a table in database.
|
||||
*
|
||||
* @param table
|
||||
* @param table the table name
|
||||
*/
|
||||
private void dropTable(String table) {
|
||||
db.execSQL("Drop TABLE " + table);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether a table is existed.
|
||||
* Returns true if the table exists.
|
||||
*
|
||||
* @param table the name of table
|
||||
* @return true means the table has existed
|
||||
* @param table the table name
|
||||
*/
|
||||
private boolean checkTable(String table) {
|
||||
private boolean hasTable(String table) {
|
||||
try {
|
||||
db.rawQuery("select count(*) from " + table, null);
|
||||
return true;
|
||||
@@ -175,14 +228,12 @@ public class MyTracksProviderTest extends AndroidTestCase {
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether a column in a table is existed by whether can order by the
|
||||
* column.
|
||||
* Returns true if the column in the table exists.
|
||||
*
|
||||
* @param table the name of table
|
||||
* @param column the name of column
|
||||
* @return true means the column has existed
|
||||
* @param table the table name
|
||||
* @param column the column name
|
||||
*/
|
||||
private boolean isColumnExisted(String table, String column) {
|
||||
private boolean hasColumn(String table, String column) {
|
||||
try {
|
||||
db.execSQL("SElECT count(*) from " + table + " order by " + column);
|
||||
} catch (Exception e) {
|
||||
@@ -193,4 +244,20 @@ public class MyTracksProviderTest extends AndroidTestCase {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up upgrade.
|
||||
*
|
||||
* @param oldVersion thd old database version
|
||||
*/
|
||||
private void setupUpgrade(int oldVersion) {
|
||||
dropTable(TracksColumns.TABLE_NAME);
|
||||
dropTable(TrackPointsColumns.TABLE_NAME);
|
||||
dropTable(WaypointsColumns.TABLE_NAME);
|
||||
createTable(TracksColumns.TABLE_NAME);
|
||||
createTable(TrackPointsColumns.TABLE_NAME);
|
||||
createTable(WaypointsColumns.TABLE_NAME);
|
||||
|
||||
DatabaseHelper databaseHelper = new DatabaseHelper(getContext());
|
||||
databaseHelper.onUpgrade(db, oldVersion, MyTracksProvider.DATABASE_VERSION);
|
||||
}
|
||||
}
|
||||
+15
-14
@@ -33,9 +33,9 @@ import android.test.AndroidTestCase;
|
||||
*/
|
||||
public class ChartFragmentTest extends AndroidTestCase {
|
||||
|
||||
private ChartFragment chartFragment;
|
||||
private static final double HOURS_PER_UNIT = 60.0;
|
||||
|
||||
private final double HOURS_PER_UNIT = 60.0;
|
||||
private ChartFragment chartFragment;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
@@ -46,7 +46,7 @@ public class ChartFragmentTest extends AndroidTestCase {
|
||||
|
||||
/**
|
||||
* Tests the logic to get the incorrect values of sensor in
|
||||
* {@link ChartFragment#fillDataPoint(Location, double[])}
|
||||
* {@link ChartFragment#fillDataPoint(android.content.Context, Location, double[])}
|
||||
*/
|
||||
public void testFillDataPoint_sensorIncorrect() {
|
||||
MyTracksLocation myTracksLocation = TrackStubUtils.createMyTracksLocation();
|
||||
@@ -83,7 +83,7 @@ public class ChartFragmentTest extends AndroidTestCase {
|
||||
|
||||
/**
|
||||
* Tests the logic to get the correct values of sensor in
|
||||
* {@link ChartFragment#fillDataPoint(Location, double[])}.
|
||||
* {@link ChartFragment#fillDataPoint(android.content.Context, Location, double[])}.
|
||||
*/
|
||||
public void testFillDataPoint_sensorCorrect() {
|
||||
MyTracksLocation myTracksLocation = TrackStubUtils.createMyTracksLocation();
|
||||
@@ -118,7 +118,7 @@ public class ChartFragmentTest extends AndroidTestCase {
|
||||
|
||||
/**
|
||||
* Tests the logic to get the value of metric Distance in
|
||||
* {@link ChartFragment#fillDataPoint(Location, double[])}.
|
||||
* {@link ChartFragment#fillDataPoint(android.content.Context, Location, double[])}.
|
||||
*/
|
||||
public void testFillDataPoint_distanceMetric() {
|
||||
// By distance.
|
||||
@@ -159,7 +159,7 @@ public class ChartFragmentTest extends AndroidTestCase {
|
||||
|
||||
/**
|
||||
* Tests the logic to get the value of imperial Distance in
|
||||
* {@link ChartFragment#fillDataPoint(Location, double[])}.
|
||||
* {@link ChartFragment#fillDataPoint(android.content.Context, Location, double[])}.
|
||||
*/
|
||||
public void testFillDataPoint_distanceImperial() {
|
||||
// By distance.
|
||||
@@ -204,7 +204,7 @@ public class ChartFragmentTest extends AndroidTestCase {
|
||||
|
||||
/**
|
||||
* Tests the logic to get the values of time in
|
||||
* {@link ChartFragment#fillDataPoint(Location, double[])}.
|
||||
* {@link ChartFragment#fillDataPoint(android.content.Context, Location, double[])}.
|
||||
*/
|
||||
public void testFillDataPoint_time() {
|
||||
// By time
|
||||
@@ -220,9 +220,9 @@ public class ChartFragmentTest extends AndroidTestCase {
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests the logic to get the value of elevation in
|
||||
* {@link ChartFragment#fillDataPoint(Location, double[])} by one and two
|
||||
* points.
|
||||
* Tests the logic to get the value of elevation in
|
||||
* {@link ChartFragment#fillDataPoint(android.content.Context,
|
||||
* Location, double[])} by one and two points.
|
||||
*/
|
||||
public void testFillDataPoint_elevation() {
|
||||
MyTracksLocation myTracksLocation1 = TrackStubUtils.createMyTracksLocation();
|
||||
@@ -247,9 +247,10 @@ public class ChartFragmentTest extends AndroidTestCase {
|
||||
|
||||
/**
|
||||
* Tests the logic to get the value of speed in
|
||||
* {@link ChartFragment#fillDataPoint(Location, double[])}. In this test,
|
||||
* firstly remove all points in memory, and then fill in two points one by
|
||||
* one. The speed values of these points are 129, 130.
|
||||
* {@link ChartFragment#fillDataPoint(android.content.Context, Location, double[])}. In this test,
|
||||
* firstly remove all points in memory,
|
||||
* and then fill in two points one by one. The speed values of these points
|
||||
* are 129, 130.
|
||||
*/
|
||||
public void testFillDataPoint_speed() {
|
||||
/*
|
||||
@@ -358,7 +359,7 @@ public class ChartFragmentTest extends AndroidTestCase {
|
||||
*/
|
||||
private double[] fillDataPointTestHelper(Location location) {
|
||||
double[] point = new double[ChartView.NUM_SERIES + 1];
|
||||
chartFragment.fillDataPoint(location, point);
|
||||
chartFragment.fillDataPoint(getContext(), location, point);
|
||||
return point;
|
||||
}
|
||||
|
||||
|
||||
+27
-19
@@ -7,9 +7,6 @@ import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
|
||||
import com.google.android.apps.mytracks.content.MyTracksProviderUtils.Factory;
|
||||
import com.google.android.apps.mytracks.content.Track;
|
||||
import com.google.android.apps.mytracks.content.Waypoint;
|
||||
import com.google.android.apps.mytracks.io.file.exporter.FileTrackExporter;
|
||||
import com.google.android.apps.mytracks.io.file.exporter.TrackExporterListener;
|
||||
import com.google.android.apps.mytracks.io.file.exporter.TrackWriter;
|
||||
import com.google.android.apps.mytracks.services.TrackRecordingServiceTest.MockContext;
|
||||
import com.google.android.apps.mytracks.testing.TestingProviderUtilsFactory;
|
||||
|
||||
@@ -42,7 +39,7 @@ public class FileTrackExporterTest extends AndroidTestCase {
|
||||
private IMocksControl mocksControl;
|
||||
|
||||
private TrackWriter trackWriter;
|
||||
private Track track;
|
||||
private Track[] tracks;
|
||||
private OutputStream outputStream;
|
||||
private FileTrackExporter fileTrackExporter;
|
||||
|
||||
@@ -65,10 +62,12 @@ public class FileTrackExporterTest extends AndroidTestCase {
|
||||
mocksControl = EasyMock.createStrictControl();
|
||||
trackWriter = mocksControl.createMock(TrackWriter.class);
|
||||
|
||||
track = new Track();
|
||||
Track track = new Track();
|
||||
track.setName(TRACK_NAME);
|
||||
track.setId(TRACK_ID);
|
||||
|
||||
tracks = new Track[] {track};
|
||||
|
||||
outputStream = new ByteArrayOutputStream();
|
||||
TrackExporterListener trackExporterListener = new TrackExporterListener() {
|
||||
|
||||
@@ -79,7 +78,7 @@ public class FileTrackExporterTest extends AndroidTestCase {
|
||||
}
|
||||
};
|
||||
fileTrackExporter = new FileTrackExporter(
|
||||
myTracksProviderUtils, new Track[] { track }, trackWriter, trackExporterListener);
|
||||
myTracksProviderUtils, tracks, trackWriter, trackExporterListener);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -95,10 +94,13 @@ public class FileTrackExporterTest extends AndroidTestCase {
|
||||
|
||||
// Set expected mock behavior
|
||||
trackWriter.prepare(outputStream);
|
||||
trackWriter.writeHeader(track);
|
||||
trackWriter.writeBeginTrack(track, null);
|
||||
trackWriter.writeEndTrack(track, null);
|
||||
trackWriter.writeHeader(tracks);
|
||||
trackWriter.writeBeginTracks();
|
||||
trackWriter.writeBeginTrack(tracks[0], null);
|
||||
trackWriter.writeEndTrack(tracks[0], null);
|
||||
trackWriter.writeEndTracks();
|
||||
trackWriter.writeFooter();
|
||||
trackWriter.close();
|
||||
|
||||
mocksControl.replay();
|
||||
assertTrue(fileTrackExporter.writeTrack(outputStream));
|
||||
@@ -124,11 +126,14 @@ public class FileTrackExporterTest extends AndroidTestCase {
|
||||
|
||||
// Set expected mock behavior
|
||||
trackWriter.prepare(outputStream);
|
||||
trackWriter.writeHeader(track);
|
||||
trackWriter.writeBeginTrack(track, null);
|
||||
trackWriter.writeEndTrack(track, null);
|
||||
trackWriter.writeHeader(tracks);
|
||||
trackWriter.writeBeginTracks();
|
||||
trackWriter.writeBeginTrack(tracks[0], null);
|
||||
trackWriter.writeEndTrack(tracks[0], null);
|
||||
trackWriter.writeEndTracks();
|
||||
trackWriter.writeFooter();
|
||||
|
||||
trackWriter.close();
|
||||
|
||||
mocksControl.replay();
|
||||
|
||||
assertTrue(fileTrackExporter.writeTrack(outputStream));
|
||||
@@ -161,16 +166,17 @@ public class FileTrackExporterTest extends AndroidTestCase {
|
||||
}
|
||||
|
||||
trackWriter.prepare(outputStream);
|
||||
trackWriter.writeHeader(track);
|
||||
trackWriter.writeHeader(tracks);
|
||||
|
||||
// Expect reading/writing of the waypoints (except the first)
|
||||
trackWriter.writeBeginWaypoints();
|
||||
trackWriter.writeBeginWaypoints(tracks[0]);
|
||||
trackWriter.writeWaypoint(waypointEq(waypoints[1]));
|
||||
trackWriter.writeWaypoint(waypointEq(waypoints[2]));
|
||||
trackWriter.writeEndWaypoints();
|
||||
|
||||
// Begin the track
|
||||
trackWriter.writeBeginTrack(trackEq(track), locationEq(locations[0]));
|
||||
trackWriter.writeBeginTracks();
|
||||
trackWriter.writeBeginTrack(trackEq(tracks[0]), locationEq(locations[0]));
|
||||
|
||||
// Write locations 1-2
|
||||
trackWriter.writeOpenSegment();
|
||||
@@ -188,10 +194,12 @@ public class FileTrackExporterTest extends AndroidTestCase {
|
||||
trackWriter.writeCloseSegment();
|
||||
|
||||
// End the track
|
||||
trackWriter.writeEndTrack(trackEq(track), locationEq(locations[5]));
|
||||
|
||||
trackWriter.writeEndTrack(trackEq(tracks[0]), locationEq(locations[5]));
|
||||
trackWriter.writeEndTracks();
|
||||
|
||||
trackWriter.writeFooter();
|
||||
|
||||
trackWriter.close();
|
||||
|
||||
mocksControl.replay();
|
||||
|
||||
assertTrue(fileTrackExporter.writeTrack(outputStream));
|
||||
|
||||
-1
@@ -17,7 +17,6 @@ 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.io.file.exporter.KmlTrackWriter;
|
||||
import com.google.android.apps.mytracks.stats.TripStatistics;
|
||||
|
||||
import android.location.Location;
|
||||
|
||||
+5
-3
@@ -5,7 +5,6 @@ import com.google.android.apps.mytracks.content.MyTracksLocation;
|
||||
import com.google.android.apps.mytracks.content.Sensor;
|
||||
import com.google.android.apps.mytracks.content.Track;
|
||||
import com.google.android.apps.mytracks.content.Waypoint;
|
||||
import com.google.android.apps.mytracks.io.file.exporter.TrackWriter;
|
||||
|
||||
import android.test.AndroidTestCase;
|
||||
|
||||
@@ -117,11 +116,12 @@ public abstract class TrackWriterTest extends AndroidTestCase {
|
||||
protected String writeTrack(TrackWriter trackWriter) throws Exception {
|
||||
OutputStream output = new ByteArrayOutputStream(BUFFER_SIZE);
|
||||
trackWriter.prepare(output);
|
||||
trackWriter.writeHeader(track);
|
||||
trackWriter.writeBeginWaypoints();
|
||||
trackWriter.writeHeader(new Track[] {track});
|
||||
trackWriter.writeBeginWaypoints(track);
|
||||
trackWriter.writeWaypoint(wp1);
|
||||
trackWriter.writeWaypoint(wp2);
|
||||
trackWriter.writeEndWaypoints();
|
||||
trackWriter.writeBeginTracks();
|
||||
trackWriter.writeBeginTrack(track, location1);
|
||||
trackWriter.writeOpenSegment();
|
||||
trackWriter.writeLocation(location1);
|
||||
@@ -132,7 +132,9 @@ public abstract class TrackWriterTest extends AndroidTestCase {
|
||||
trackWriter.writeLocation(location4);
|
||||
trackWriter.writeCloseSegment();
|
||||
trackWriter.writeEndTrack(track, location4);
|
||||
trackWriter.writeEndTracks();
|
||||
trackWriter.writeFooter();
|
||||
trackWriter.close();
|
||||
return output.toString();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user