@LargeTest
  public void testTapSomeButtons() {
    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");
  }
 private boolean tap(int id) {
   View view = mActivity.findViewById(id);
   if (view != null) {
     TouchUtils.clickView(this, view);
     return true;
   }
   return false;
 }
  private String displayVal() {
    CalculatorDisplay display = (CalculatorDisplay) mActivity.findViewById(R.id.display);
    assertNotNull(display);

    EditText box = (EditText) display.getCurrentView();
    assertNotNull(box);

    return box.getText().toString();
  }