FolderListActivityTest.java :  » Sudoku » opensudoku-android » cz » romario » opensudoku » test » Android Open Source

Android Open Source » Sudoku » opensudoku android 
opensudoku android » cz » romario » opensudoku » test » FolderListActivityTest.java
package cz.romario.opensudoku.test;

import android.test.ActivityInstrumentationTestCase2;

import com.jayway.android.robotium.solo.Solo;

import cz.romario.opensudoku.gui.FolderListActivity;
import cz.romario.opensudoku.gui.SudokuExportActivity;
import cz.romario.opensudoku.gui.SudokuListActivity;
import cz.romario.opensudoku.R;


public class FolderListActivityTest extends
    ActivityInstrumentationTestCase2<FolderListActivity> {

  static final String NEW_FOLDER_NAME = "Robotest";
  static final String RENAMED_FOLDER_NAME = "RenamedTest";  
  
  private Solo solo;

  public FolderListActivityTest() {
    super("cz.romario.opensudoku", FolderListActivity.class);
  }

  @Override
  protected void setUp() throws Exception {
    solo = new Solo(getInstrumentation(), getActivity());
  }
  
  public void testListItemSelect() {
    solo.clickInList(2);
    solo.assertCurrentActivity("SudokuListActivity", SudokuListActivity.class);
    String medium = getString(R.string.difficulty_medium);
    assertTrue(solo.getCurrentActivity().getTitle().toString().contains(medium));
  }
  
  public void testListItemExport() {
    String medium = getString(R.string.difficulty_medium);
    solo.clickLongOnText(medium);
    solo.clickOnText(getString(R.string.export_folder));
    solo.assertCurrentActivity("SudokuExportActivity", SudokuExportActivity.class);
    assertTrue(solo.searchText(medium));
  }
  
  public void testMenuExportAllFolders() {
    solo.clickOnMenuItem(getString(R.string.export_all_folders));
    solo.assertCurrentActivity("SudokuExportActivity", SudokuExportActivity.class);
  }
  
  public void testMenuAbout() {
    solo.clickOnMenuItem(getString(R.string.about));
    assertTrue(solo.searchText("Version:"));
    solo.clickOnButton(getString(android.R.string.ok));
  }

  public void testGetPuzzlesOnline() {
    solo.clickOnButton(getString(R.string.get_more_puzzles_online));
    solo.waitForText("opensudoku-android");
  }
  
  
  
  public void test01MenuAddFolder() throws InterruptedException {
    // create test folder
    solo.clickOnMenuItem(getString(R.string.add_folder));
    solo.enterText(0, NEW_FOLDER_NAME);
    solo.clickOnButton(getString(R.string.save));
    solo.searchText(NEW_FOLDER_NAME);
    
    // click on our newly created folder
    solo.clickInList(getActivity().getListView().getCount());
    solo.assertCurrentActivity("SudokuListActivity", SudokuListActivity.class);
    assertTrue(solo.getCurrentActivity().getTitle().toString().contains(NEW_FOLDER_NAME));
  }
  
  public void test02ListItemRenameFolder() {
    solo.clickLongOnText(NEW_FOLDER_NAME);
    solo.clickOnText(getString(R.string.rename_folder));
    solo.clearEditText(0);
    solo.enterText(0, RENAMED_FOLDER_NAME);
    solo.clickOnButton(getString(R.string.save));
    
    assertTrue(solo.searchText(RENAMED_FOLDER_NAME));
    assertFalse(solo.searchText(NEW_FOLDER_NAME));
  }
  
  public void test03ListItemDeleteFolder() throws InterruptedException {
    // select folder created in testMenuAddFolder and delete it
    solo.clickLongOnText(RENAMED_FOLDER_NAME);
    solo.clickOnText(getString(R.string.delete_folder));
    solo.clickOnButton(getString(android.R.string.ok));
    
    assertFalse(solo.searchText(RENAMED_FOLDER_NAME));
  }
  

  @Override
  protected void tearDown() throws Exception {
    try {
      solo.finalize();
    } catch (Throwable e) {

      e.printStackTrace();
    }
    getActivity().finish();
    super.tearDown();

  }
  
  private void addFolder(String folderName) {
    
  }
  
  private String getString(int resId) {
    return getActivity().getString(resId);
  }
  

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.