LoginActivityTest.java :  » UnTagged » android-friendconnect » com » friendconnect » test » activities » Android Open Source

Android Open Source » UnTagged » android friendconnect 
android friendconnect » com » friendconnect » test » activities » LoginActivityTest.java
package com.friendconnect.test.activities;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.test.ActivityUnitTestCase;
import android.test.suitebuilder.annotation.MediumTest;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;

import com.friendconnect.R;
import com.friendconnect.activities.FriendListActivity;
import com.friendconnect.activities.LoginActivity;
import com.friendconnect.model.Constants;

public class LoginActivityTest extends ActivityUnitTestCase<LoginActivity> {
  private Intent startIntent;
  private String username;
  private String password;

  public LoginActivityTest() {
    super(LoginActivity.class);
  }

  @Override
  public void setUp() throws Exception {
    super.setUp();
    startIntent = new Intent(this.getInstrumentation().getTargetContext(), FriendListActivity.class);
    username = "";
    password = "";
    
    fail("Username + password must be specified");
  }

  @Override
  protected void tearDown() throws Exception {
    super.tearDown();
    startIntent = null;
    username = null;
    password = null;
  }

  @MediumTest
  public void testPreconditions() {
    startActivity(startIntent, null, null);
    assertNotNull(getActivity());
    assertNotNull(getActivity().findViewById((R.id.editTextEmail)));
    assertNotNull(getActivity().findViewById((R.id.editTextPassword)));
    assertNotNull(getActivity().findViewById((R.id.buttonSignIn)));
    assertNotNull(getActivity().findViewById(R.id.checkBoxSavePassword));
  }

  @MediumTest
  public void testLogin() throws Exception {
    startActivity(startIntent, null, null);

    EditText editTextEmail = (EditText) getActivity().findViewById(
        R.id.editTextEmail);
    EditText editTextPassword = (EditText) getActivity().findViewById(
        R.id.editTextPassword);
    Button signInButton = (Button) getActivity().findViewById(
        R.id.buttonSignIn);

    editTextEmail.setText(username);
    editTextPassword.setText(password);
    signInButton.performClick();

    // wait some seconds
    Thread.sleep(2000);

    boolean focus = getActivity().hasWindowFocus();

    assertFalse("Activity's main window should have lost the focus", focus);
  }

  @MediumTest
  public void testLoadPreferences() {
    // clear Activity's preference store
    SharedPreferences activityPreferences = this.getInstrumentation().getTargetContext().getSharedPreferences(Constants.USER_PREFS, Activity.MODE_PRIVATE);
    SharedPreferences.Editor editor = activityPreferences.edit();
    editor.putString("username", "juri");
    editor.putString("password", "juri123");
    editor.putBoolean("savePrefs", true);
    editor.commit();
    
    startActivity(startIntent, null, null);
      
    EditText editTextEmail = (EditText) getActivity().findViewById(
        R.id.editTextEmail);
    EditText editTextPassword = (EditText) getActivity().findViewById(
        R.id.editTextPassword);
    CheckBox checkBoxSavePrefs = (CheckBox) getActivity().findViewById(
        R.id.checkBoxSavePassword);

    assertEquals("should be juri", "juri", editTextEmail.getText().toString());
    assertEquals("should be juri123", "juri123", editTextPassword.getText()
        .toString());
    assertTrue("checkbox should be checked", checkBoxSavePrefs
        .isChecked());
  }
  
  @MediumTest
  public void testSavePreferences() throws Exception {
    startActivity(startIntent, null, null);

    EditText editTextEmail = (EditText) getActivity().findViewById(
        R.id.editTextEmail);
    EditText editTextPassword = (EditText) getActivity().findViewById(
        R.id.editTextPassword);
    Button signInButton = (Button) getActivity().findViewById(
        R.id.buttonSignIn);
    CheckBox checkBoxSavePrefs = (CheckBox) getActivity().findViewById(
        R.id.checkBoxSavePassword);

    editTextEmail.setText(username);
    editTextPassword.setText(password);
    checkBoxSavePrefs.setChecked(true);
    
    signInButton.performClick();
    
    // wait some seconds
    Thread.sleep(2000);
    
    //the Activity's preference store should contain the data now
    SharedPreferences activityPreferences = getActivity().getSharedPreferences(Constants.USER_PREFS, Activity.MODE_PRIVATE);
    assertEquals(username, activityPreferences.getString("username", ""));
    assertEquals(password, activityPreferences.getString("password", ""));
    assertEquals(true, activityPreferences.getBoolean("storePrefs", false));
  }
  
  @MediumTest
  public void testSavePreferences2() throws Exception {
    startActivity(startIntent, null, null);

    EditText editTextEmail = (EditText) getActivity().findViewById(
        R.id.editTextEmail);
    EditText editTextPassword = (EditText) getActivity().findViewById(
        R.id.editTextPassword);
    Button signInButton = (Button) getActivity().findViewById(
        R.id.buttonSignIn);
    CheckBox checkBoxSavePrefs = (CheckBox) getActivity().findViewById(
        R.id.checkBoxSavePassword);

    editTextEmail.setText(username);
    editTextPassword.setText(password);
    checkBoxSavePrefs.setChecked(false);
    
    signInButton.performClick();
    
    // wait some seconds
    Thread.sleep(2000);
    
    //the Activity's preference store should contain the data now
    SharedPreferences activityPreferences = getActivity().getSharedPreferences(Constants.USER_PREFS, Activity.MODE_PRIVATE);
    assertEquals("", activityPreferences.getString("username", ""));
    assertEquals("", activityPreferences.getString("password", ""));
    assertEquals(false, activityPreferences.getBoolean("storePrefs", false));
  }
}
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.