package com.youxiachai.demo.test; import java.net.HttpURLConnection; import android.os.Bundle; import android.test.ActivityInstrumentationTestCase2; import com.androidquery.AQuery; import com.androidquery.callback.AjaxCallback; import com.androidquery.callback.AjaxStatus; import com.androidquery.util.AQUtility; import com.youxiachai.ajax.ICallback; import com.youxiachai.demo.model.api.BookApi; import com.youxiachai.demo.model.api.CollectionListApi; import com.youxiachai.demo.model.bean.BookInfo; import com.youxiachai.demo.view.act.MainActivity; /** * @author youxiachai * @date 2013-7-16 */ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> { public MainActivityTest() { super(MainActivity.class); } AQuery request; @Override protected void setUp() throws Exception { super.setUp(); request = new AQuery(getActivity()); AQUtility.setDebug(true); AQUtility.debug("new act", getActivity() + ":" + getActivity().isFinishing()); } /** * 异步请求的结束信号 */ public void done(){ AQUtility.debugNotify(); } /** *测试网络是否通畅 */ public void testRequest() { String url = "http://www.baidu.com"; request.ajax(url, String.class, new AjaxCallback<String>(){ @Override public void callback(String url, String object, AjaxStatus status) { super.callback(url, object, status); AQUtility.debug(object); assertEquals(HttpURLConnection.HTTP_OK, status.getCode()); done(); } }); AQUtility.debugWait(10000); } /** * 测试api url 是否正确 */ public void testApiUrl () { String book = "http://api.douban.com/v2/book/1220562"; String collections = "http://api.douban.com/v2/book/user/youxiachai/collections"; Bundle b = new Bundle(); b.putString("id", "1220562"); assertEquals(book, new BookApi().getBookById(b)); b.putString("id", "youxiachai"); assertEquals(collections, new CollectionListApi().getCollectionByUser(b)); } /** * 测试获取书籍 */ public void testBookModel(){ Bundle b = new Bundle(); b.putString("id", "1220562"); new BookApi().get(b, request, new ICallback<BookInfo>() { @Override public void onSuccess(BookInfo result, Enum<?> type, AjaxStatus status) { // TODO Auto-generated method stub assertNotNull(result); assertEquals("180", result.pages); assertEquals("青岛出版社", result.publisher); assertEquals("9787543632608", result.isbn13); done(); } @Override public void onError(int code, String message) { // TODO Auto-generated method stub } }); AQUtility.debugWait(10000); } /** * 测试获取收藏api */ public void testCollections() { Bundle query = new Bundle(); // query.("id", 66863378); query.putString("id", "youxiachai"); new CollectionListApi().get(query, request, new ICallback<CollectionListApi>() { @Override public void onSuccess(CollectionListApi result, Enum<?> type, AjaxStatus status) { assertNotNull(result); assertNotNull(result.collections.get(0).book); BookInfo book = result.collections.get(0).book; assertEquals(222, result.total); done(); } @Override public void onError(int code, String message) { // TODO Auto-generated method stub } }); AQUtility.debugWait(10000); } }