When play track, add a containing folder to contain all the merged tracks

This commit is contained in:
Jimmy Shih
2013-10-02 15:22:00 -07:00
parent 7594f6b516
commit b182c1cb80
17 changed files with 503 additions and 369 deletions
@@ -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);
}
}
@@ -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;
}
@@ -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));
@@ -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,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();
}