package com.github.spreadsheets.android.api.requests; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.SmallTest; import android.util.Log; import android.util.SparseArray; import com.android.volley.NetworkResponse; import com.android.volley.Response; import com.github.spreadsheets.android.api.model.CellFeed; import com.github.spreadsheets.android.api.testutils.AssetsFileReader; import java.util.HashMap; import java.util.Map; import static org.fest.assertions.api.Assertions.assertThat; @SmallTest public class CellFeedRequestTest extends AndroidTestCase { private SpreadsheetRequest mRequest; private NetworkResponse mMockResponse; Map<String, String> headers = new HashMap<String, String>(); @Override public void setUp() throws Exception { super.setUp(); mRequest = new CellFeedRequest(null, null, null); String xml = new AssetsFileReader().assetFileContents("cell_feed.xml"); headers.put(com.google.common.net.HttpHeaders.CONTENT_TYPE, "application/atom+xml; charset=UTF-8"); mMockResponse = new NetworkResponse(200, xml.getBytes(), headers, false); } public void testParsingSuccess() { Response feedResponse = mRequest.parseNetworkResponse(mMockResponse); assertTrue(feedResponse.isSuccess()); } public void testParsingFailure() { Response response = mRequest .parseNetworkResponse( new NetworkResponse(200,"error".getBytes(), headers, false)); assertFalse(response.isSuccess()); } public void testParseNetworkResponse() { Response feedResponse = mRequest.parseNetworkResponse(mMockResponse); CellFeed feed = (CellFeed) feedResponse.result; assertThat(feed.getEntries().size()).isEqualTo(30); SparseArray<String> columns = new SparseArray<String>(3); columns.append(1, "A"); columns.append(2, "B"); columns.append(3, "C"); for (int i = 1; i <= 10 ; i++) { for (int j = 1; j <= 3 ; j++) { assertThat(feed.getEntries().get(3 * (i - 1) + j - 1).title) .isEqualTo(columns.get(j) + Integer.toString(i)); } } } }