forked from upstream-mirrors/OpenTracks
Don't mock MockContext. For some reason Android Mock is unable to do it. As it happens, we
don't really need to mock it anyway.
This commit is contained in:
+25
-24
@@ -18,31 +18,31 @@ package com.google.android.apps.mytracks.io.docs;
|
|||||||
import com.google.android.apps.mytracks.content.Track;
|
import com.google.android.apps.mytracks.content.Track;
|
||||||
import com.google.android.apps.mytracks.io.AuthManager;
|
import com.google.android.apps.mytracks.io.AuthManager;
|
||||||
import com.google.android.apps.mytracks.stats.TripStatistics;
|
import com.google.android.apps.mytracks.stats.TripStatistics;
|
||||||
|
import com.google.android.maps.mytracks.R;
|
||||||
import com.google.android.testing.mocking.AndroidMock;
|
import com.google.android.testing.mocking.AndroidMock;
|
||||||
import com.google.android.testing.mocking.UsesMocks;
|
import com.google.android.testing.mocking.UsesMocks;
|
||||||
import com.google.android.maps.mytracks.R;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.test.mock.MockContext;
|
import android.test.mock.MockContext;
|
||||||
import android.test.mock.MockResources;
|
import android.test.mock.MockResources;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for {@link DocsHelper#addTrackRow}
|
* Tests for {@link DocsHelper#addTrackRow}
|
||||||
*
|
*
|
||||||
* @author Matthew Simmons
|
* @author Matthew Simmons
|
||||||
*/
|
*/
|
||||||
public class DocsHelper_AddTrackRowTest extends TestCase {
|
public class DocsHelper_AddTrackRowTest extends TestCase {
|
||||||
private static final long TIME = 1288721514000L;
|
private static final long TIME = 1288721514000L;
|
||||||
|
|
||||||
private static class StringWritingDocsHelper extends DocsHelper {
|
private static class StringWritingDocsHelper extends DocsHelper {
|
||||||
String writtenSheetUri = null;
|
String writtenSheetUri = null;
|
||||||
String writtenData = null;
|
String writtenData = null;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void writeRowData(AuthManager trixAuth, String worksheetUri,
|
protected void writeRowData(AuthManager trixAuth, String worksheetUri,
|
||||||
String postText) {
|
String postText) {
|
||||||
@@ -54,7 +54,7 @@ public class DocsHelper_AddTrackRowTest extends TestCase {
|
|||||||
public void testAddTrackRow_imperial() throws Exception {
|
public void testAddTrackRow_imperial() throws Exception {
|
||||||
StringWritingDocsHelper docsHelper = new StringWritingDocsHelper();
|
StringWritingDocsHelper docsHelper = new StringWritingDocsHelper();
|
||||||
addTrackRow(docsHelper, false);
|
addTrackRow(docsHelper, false);
|
||||||
|
|
||||||
String expectedData =
|
String expectedData =
|
||||||
"<entry xmlns='http://www.w3.org/2005/Atom' "
|
"<entry xmlns='http://www.w3.org/2005/Atom' "
|
||||||
+ "xmlns:gsx='http://schemas.google.com/spreadsheets/2006/extended'>"
|
+ "xmlns:gsx='http://schemas.google.com/spreadsheets/2006/extended'>"
|
||||||
@@ -81,11 +81,11 @@ public class DocsHelper_AddTrackRowTest extends TestCase {
|
|||||||
+ "</entry>";
|
+ "</entry>";
|
||||||
|
|
||||||
assertEquals(
|
assertEquals(
|
||||||
"http://spreadsheets.google.com/feeds/list/ssid/wsid/private/full",
|
"http://spreadsheets.google.com/feeds/list/ssid/wsid/private/full",
|
||||||
docsHelper.writtenSheetUri);
|
docsHelper.writtenSheetUri);
|
||||||
assertEquals(expectedData, docsHelper.writtenData);
|
assertEquals(expectedData, docsHelper.writtenData);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testAddTrackRow_metric() throws Exception {
|
public void testAddTrackRow_metric() throws Exception {
|
||||||
StringWritingDocsHelper docsHelper = new StringWritingDocsHelper();
|
StringWritingDocsHelper docsHelper = new StringWritingDocsHelper();
|
||||||
addTrackRow(docsHelper, true);
|
addTrackRow(docsHelper, true);
|
||||||
@@ -100,18 +100,17 @@ public class DocsHelper_AddTrackRowTest extends TestCase {
|
|||||||
"<gsx:speedunit><![CDATA[kph]]></gsx:speedunit>"));
|
"<gsx:speedunit><![CDATA[kph]]></gsx:speedunit>"));
|
||||||
assertTrue(docsHelper.writtenData.contains(
|
assertTrue(docsHelper.writtenData.contains(
|
||||||
"<gsx:elevationunit><![CDATA[meter]]></gsx:elevationunit>"));
|
"<gsx:elevationunit><![CDATA[meter]]></gsx:elevationunit>"));
|
||||||
|
|
||||||
assertTrue(docsHelper.writtenData.contains(
|
assertTrue(docsHelper.writtenData.contains(
|
||||||
"<gsx:distance><![CDATA[20.00]]></gsx:distance>"));
|
"<gsx:distance><![CDATA[20.00]]></gsx:distance>"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@UsesMocks({AuthManager.class, MockContext.class, MockResources.class,
|
|
||||||
Track.class})
|
|
||||||
/** Adds a row to the spreadsheet, using the provided helper. */
|
/** Adds a row to the spreadsheet, using the provided helper. */
|
||||||
private void addTrackRow(DocsHelper docsHelper, boolean useMetric)
|
@UsesMocks({AuthManager.class, MockResources.class, Track.class})
|
||||||
|
private void addTrackRow(DocsHelper docsHelper, boolean useMetric)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
Resources mockResources = AndroidMock.createMock(MockResources.class);
|
final Resources mockResources = AndroidMock.createMock(MockResources.class);
|
||||||
|
|
||||||
if (useMetric) {
|
if (useMetric) {
|
||||||
AndroidMock.expect(mockResources.getString(R.string.kilometer))
|
AndroidMock.expect(mockResources.getString(R.string.kilometer))
|
||||||
.andReturn("km");
|
.andReturn("km");
|
||||||
@@ -128,15 +127,17 @@ public class DocsHelper_AddTrackRowTest extends TestCase {
|
|||||||
.andReturn("feet");
|
.andReturn("feet");
|
||||||
}
|
}
|
||||||
AndroidMock.replay(mockResources);
|
AndroidMock.replay(mockResources);
|
||||||
|
|
||||||
Context mockContext = AndroidMock.createMock(MockContext.class);
|
Context mockContext = new MockContext() {
|
||||||
AndroidMock.expect(mockContext.getResources())
|
@Override
|
||||||
.andReturn(mockResources).anyTimes();
|
public Resources getResources() {
|
||||||
AndroidMock.replay(mockContext);
|
return mockResources;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
AuthManager mockAuthManager = AndroidMock.createMock(AuthManager.class);
|
AuthManager mockAuthManager = AndroidMock.createMock(AuthManager.class);
|
||||||
AndroidMock.replay(mockAuthManager);
|
AndroidMock.replay(mockAuthManager);
|
||||||
|
|
||||||
TripStatistics stats = new TripStatistics();
|
TripStatistics stats = new TripStatistics();
|
||||||
stats.setStartTime(TIME);
|
stats.setStartTime(TIME);
|
||||||
stats.setTotalTime(5000);
|
stats.setTotalTime(5000);
|
||||||
@@ -146,14 +147,14 @@ public class DocsHelper_AddTrackRowTest extends TestCase {
|
|||||||
stats.setTotalElevationGain(6000);
|
stats.setTotalElevationGain(6000);
|
||||||
stats.setMinElevation(-500);
|
stats.setMinElevation(-500);
|
||||||
stats.setMaxElevation(550);
|
stats.setMaxElevation(550);
|
||||||
|
|
||||||
Track track = new Track();
|
Track track = new Track();
|
||||||
track.setName("trackName");
|
track.setName("trackName");
|
||||||
track.setDescription("trackDescription");
|
track.setDescription("trackDescription");
|
||||||
track.setMapId("trackMapId");
|
track.setMapId("trackMapId");
|
||||||
track.setStatistics(stats);
|
track.setStatistics(stats);
|
||||||
|
|
||||||
docsHelper.addTrackRow(mockContext, mockAuthManager, "ssid", "wsid",
|
docsHelper.addTrackRow(mockContext, mockAuthManager, "ssid", "wsid",
|
||||||
track, useMetric);
|
track, useMetric);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user