FileDocCategorySizeDatePackage
CalculatorHitSomeButtons.javaAPI DocAndroid 1.5 API4080Wed May 06 22:42:42 BST 2009com.android.calculator2

CalculatorHitSomeButtons

public class CalculatorHitSomeButtons extends android.test.ActivityInstrumentationTestCase
Instrumentation tests for poking some buttons

Fields Summary
public boolean
setup
private static final String
TAG
com.android.calculator2.Calculator
mActivity
android.app.Instrumentation
mInst
Constructors Summary
public CalculatorHitSomeButtons()

    
      
        super("com.android.calculator2", Calculator.class);
    
Methods Summary
private java.lang.StringdisplayVal()

        CalculatorDisplay display = (CalculatorDisplay) mActivity.findViewById(R.id.display);
        assertNotNull(display);
        
        EditText box = (EditText) display.getCurrentView();
        assertNotNull(box);
        
        return box.getText().toString();
    
private voidpress(int keycode)

        mInst.sendKeyDownUpSync(keycode);
    
protected voidsetUp()

        super.setUp();
        
        mActivity = getActivity();
        mInst = getInstrumentation();
    
private booleantap(int id)

        View view = mActivity.findViewById(id);
        if(view != null) {
            TouchUtils.clickView(this, view);
            return true;
        }
        return false;
    
protected voidtearDown()

        super.tearDown();
    
public voidtestPressSomeKeys()

        Log.v(TAG, "Pressing some keys!");
        
        // Make sure that we clear the output
        press(KeyEvent.KEYCODE_ENTER);
        press(KeyEvent.KEYCODE_CLEAR);
        
        // 3 + 4 * 5 => 23
        press(KeyEvent.KEYCODE_3);
        press(KeyEvent.KEYCODE_PLUS);
        press(KeyEvent.KEYCODE_4);
        press(KeyEvent.KEYCODE_9 | KeyEvent.META_SHIFT_ON);
        press(KeyEvent.KEYCODE_5);
        press(KeyEvent.KEYCODE_ENTER);
        
        assertEquals(displayVal(), "23");
    
public voidtestTapSomeButtons()

        Log.v(TAG, "Tapping some buttons!");
        
        // Make sure that we clear the output
        tap(R.id.equal);
        tap(R.id.del);
        
        // 567 / 3 => 189
        tap(R.id.digit5);
        tap(R.id.digit6);
        tap(R.id.digit7);
        tap(R.id.div);
        tap(R.id.digit3);
        tap(R.id.equal);
        
        assertEquals(displayVal(), "189");
        
        // make sure we can continue calculations also
        // 189 - 789 => -600
        tap(R.id.minus);
        tap(R.id.digit7);
        tap(R.id.digit8);
        tap(R.id.digit9);
        tap(R.id.equal);
        
        // Careful: the first digit in the expected value is \u2212, not "-" (a hyphen)
        assertEquals(displayVal(), mActivity.getString(R.string.minus) + "600");