package com.door43.translationstudio; import android.test.InstrumentationTestCase; import com.door43.translationstudio.core.CheckingQuestion; import com.door43.translationstudio.core.Downloader; import com.door43.translationstudio.core.Indexer; import com.door43.translationstudio.core.IndexerSQLiteHelper; import com.door43.translationstudio.core.SourceTranslation; import com.door43.translationstudio.core.TranslationWord; /** * Created by joel on 8/27/2015. */ public class DownloaderTest extends InstrumentationTestCase { private Downloader mDownloader; private Indexer mIndex; @Override protected void setUp() throws Exception { MainApplication app = AppContext.context(); IndexerSQLiteHelper downloadIndexHelper = new IndexerSQLiteHelper(app, "downloader_test_downloads"); mIndex = new Indexer(app, "downloader_test_downloads", downloadIndexHelper); String server = app.getUserPreferences().getString(SettingsActivity.KEY_PREF_MEDIA_SERVER, app.getResources().getString(R.string.pref_default_media_server)); mDownloader = new Downloader(server + app.getResources().getString(R.string.root_catalog_api)); } public void test1DownloadProjects() throws Exception { mIndex.delete(); mIndex.rebuild(); mIndex.beginTransaction(); assertTrue(mDownloader.downloadProjectList(mIndex)); mIndex.endTransaction(true); String[] projectIds = mIndex.getProjectSlugs(); assertTrue(projectIds.length > 0); } public void test2DownloadSourceLanguages() throws Exception { mIndex.beginTransaction(); assertTrue(mDownloader.downloadSourceLanguageList("obs", mIndex)); mIndex.endTransaction(true); String[] languageIds = mIndex.getSourceLanguageSlugs("obs"); assertTrue(languageIds.length > 0); } public void test3DownloadResources() throws Exception { mIndex.beginTransaction(); assertTrue(mDownloader.downloadResourceList("obs", "en", mIndex)); mIndex.endTransaction(true); String[] resourceIds = mIndex.getResourceSlugs("obs", "en"); assertTrue(resourceIds.length > 0); } public void test4DownloadSource() throws Exception { SourceTranslation translation = SourceTranslation.simple("obs", "en", "obs"); mIndex.beginTransaction(); assertTrue(mDownloader.downloadSource(translation, mIndex)); mIndex.endTransaction(true); String[] chapterIds = mIndex.getChapterSlugs(translation); assertTrue(chapterIds.length > 0); String[] frameIds = mIndex.getFrameSlugs(translation, "01"); assertTrue(frameIds.length > 0); } public void test5DownloadTerms() throws Exception { SourceTranslation translation = SourceTranslation.simple("obs", "en", "obs"); mIndex.beginTransaction(); assertTrue(mDownloader.downloadWords(translation, mIndex)); mIndex.endTransaction(true); String[] allTermIds = mIndex.getWordSlugs(translation); assertTrue(allTermIds.length > 0); assertNotNull(mIndex.getWord(translation, allTermIds[0])); mIndex.beginTransaction(); assertTrue(mDownloader.downloadWordAssignments(translation, mIndex)); mIndex.endTransaction(true); TranslationWord[] frameWords = mIndex.getWordsForFrame(translation, "01", "01"); assertTrue(frameWords.length > 0); } public void test6DownloadNotes() throws Exception { SourceTranslation translation = SourceTranslation.simple("obs", "en", "obs"); mIndex.beginTransaction(); assertTrue(mDownloader.downloadNotes(translation, mIndex)); mIndex.endTransaction(true); String[] noteIds = mIndex.getNoteSlugs(translation, "01", "01"); assertTrue(noteIds.length > 0); } public void test7DownloadQuestions() throws Exception { SourceTranslation translation = SourceTranslation.simple("obs", "en", "obs"); mIndex.beginTransaction(); assertTrue(mDownloader.downloadCheckingQuestions(translation, mIndex)); mIndex.endTransaction(true); CheckingQuestion[] questions = mIndex.getCheckingQuestions(translation, "01", "01"); assertTrue(questions.length > 0); } public void test8DownloadTargetLanguages() throws Exception { mIndex.beginTransaction(); mDownloader.downloadTargetLanguages(mIndex); mIndex.endTransaction(true); assertTrue(mIndex.getTargetLanguages().length > 0); } }