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:
Matthew Simmons
2011-03-11 16:07:34 -05:00
parent 74073b641f
commit 2d3c463bf3
@@ -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);
} }
} }