/*
* Catroid: An on-device visual programming system for Android devices
* Copyright (C) 2010-2016 The Catrobat Team
* (<http://developer.catrobat.org/credits>)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* An additional term exception under section 7 of the GNU Affero
* General Public License, version 3, is available at
* http://developer.catrobat.org/license_additional_term
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.catrobat.catroid.uitest.formulaeditor;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import org.catrobat.catroid.ProjectManager;
import org.catrobat.catroid.R;
import org.catrobat.catroid.content.Project;
import org.catrobat.catroid.content.Script;
import org.catrobat.catroid.content.SingleSprite;
import org.catrobat.catroid.content.Sprite;
import org.catrobat.catroid.content.StartScript;
import org.catrobat.catroid.content.bricks.Brick;
import org.catrobat.catroid.content.bricks.ChangeSizeByNBrick;
import org.catrobat.catroid.content.bricks.GlideToBrick;
import org.catrobat.catroid.ui.MainMenuActivity;
import org.catrobat.catroid.uitest.util.BaseActivityInstrumentationTestCase;
import org.catrobat.catroid.uitest.util.UiTestUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
public class FormulaEditorKeyboardTest extends BaseActivityInstrumentationTestCase<MainMenuActivity> {
private Project project;
private Sprite firstSprite;
private Sprite secondSprite;
private Brick changeBrick;
private Brick glideToBrick;
private static final int CHANGE_SIZE_EDIT_TEXT_RID = R.id.brick_change_size_by_edit_text;
public FormulaEditorKeyboardTest() {
super(MainMenuActivity.class);
}
@Override
public void setUp() throws Exception {
super.setUp();
createProject(UiTestUtils.DEFAULT_TEST_PROJECT_NAME);
UiTestUtils.getIntoScriptActivityFromMainMenu(solo);
}
private void createProject(String projectName) throws InterruptedException {
project = new Project(null, projectName);
firstSprite = new SingleSprite("firstSprite");
secondSprite = new SingleSprite("secondSprite");
Script startScript1 = new StartScript();
Script startScript2 = new StartScript();
changeBrick = new ChangeSizeByNBrick(0);
glideToBrick = new GlideToBrick(0, 0, 0);
firstSprite.addScript(startScript1);
secondSprite.addScript(startScript2);
startScript1.addBrick(changeBrick);
startScript2.addBrick(glideToBrick);
project.getDefaultScene().addSprite(firstSprite);
project.getDefaultScene().addSprite(secondSprite);
ProjectManager.getInstance().setProject(project);
ProjectManager.getInstance().setCurrentSprite(firstSprite);
}
public void testNormalKeysKeyboard() {
solo.clickOnView(solo.getView(CHANGE_SIZE_EDIT_TEXT_RID));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_9));
ArrayList<EditText> textList = solo.getCurrentViews(EditText.class);
EditText text = textList.get(textList.size() - 1);
assertEquals("Wrong button clicked", "9", text.getText().toString().substring(0, 1));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_8));
assertEquals("Wrong button clicked", "8", text.getText().toString().substring(0, 1));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_7));
assertEquals("Wrong button clicked", "7", text.getText().toString().substring(0, 1));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_6));
assertEquals("Wrong button clicked", "6", text.getText().toString().substring(0, 1));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_5));
assertEquals("Wrong button clicked", "5", text.getText().toString().substring(0, 1));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_4));
assertEquals("Wrong button clicked", "4", text.getText().toString().substring(0, 1));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_3));
assertEquals("Wrong button clicked", "3", text.getText().toString().substring(0, 1));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_2));
assertEquals("Wrong button clicked", "2", text.getText().toString().substring(0, 1));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_1));
assertEquals("Wrong button clicked", "1", text.getText().toString().substring(0, 1));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_plus));
assertEquals("Wrong button clicked", "+", text.getText().toString().substring(0, 1));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_minus));
assertEquals("Wrong button clicked", "-", text.getText().toString().substring(0, 1));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_mult));
assertEquals("Wrong button clicked", "×", text.getText().toString().substring(0, 1));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_divide));
assertEquals("Wrong button clicked", "÷", text.getText().toString().substring(0, 1));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_bracket_open));
assertEquals("Wrong button clicked", getActivity().getString(R.string.formula_editor_bracket_open), text
.getText().toString().substring(0, text.length() - 1));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_bracket_close));
assertEquals("Wrong button clicked", getActivity().getString(R.string.formula_editor_bracket_close), text
.getText().toString().substring(0, text.length() - 1));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_function));
solo.clickOnText(solo.getString(R.string.formula_editor_function_rand));
solo.waitForText(solo.getString(R.string.formula_editor_title));
assertEquals(
"Wrong button clicked",
solo.getString(R.string.formula_editor_function_rand) + "( 0 , 1 )",
text.getText().toString()
.substring(0, (solo.getString(R.string.formula_editor_function_rand) + "( 0 , 1 )").length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
}
public void testLayout() {
solo.clickOnView(solo.getView(CHANGE_SIZE_EDIT_TEXT_RID));
List<List<View>> keyboard = new ArrayList<List<View>>();
LinearLayout keyboardContainer = (LinearLayout) solo.getView(R.id.formula_editor_keyboardview);
for (int rowIndex = 0; rowIndex < keyboardContainer.getChildCount(); rowIndex++) {
View rowView = keyboardContainer.getChildAt(rowIndex);
List<View> row = new ArrayList<View>();
if (rowView.getClass() == LinearLayout.class) {
for (int i = 0; i < ((LinearLayout) rowView).getChildCount(); i++) {
row.add(((LinearLayout) rowView).getChildAt(i));
}
}
keyboard.add(row);
}
for (int rowIndex = 0; rowIndex < keyboard.size(); rowIndex++) {
List<View> row = keyboard.get(rowIndex);
float currentRowWeightSum = 0;
for (View key : row) {
currentRowWeightSum += ((LinearLayout.LayoutParams) key.getLayoutParams()).weight;
}
assertEquals("Row " + (rowIndex + 1) + "'s weights don't add up.", 1.0f, currentRowWeightSum);
}
}
public void testObjectFragment() {
String itemString = "";
solo.clickOnView(solo.getView(CHANGE_SIZE_EDIT_TEXT_RID));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
ArrayList<EditText> textList = solo.getCurrentViews(EditText.class);
EditText text = textList.get(textList.size() - 1);
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_object));
String categoryTitle = solo.getString(R.string.formula_editor_object_movement);
assertTrue("Category Title not found", solo.searchText(categoryTitle.toUpperCase(Locale.getDefault())));
itemString = solo.getString(R.string.formula_editor_object_x);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_object));
itemString = solo.getString(R.string.formula_editor_object_y);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_object));
itemString = solo.getString(R.string.formula_editor_object_transparency);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_object));
itemString = solo.getString(R.string.formula_editor_object_brightness);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_object));
itemString = solo.getString(R.string.formula_editor_object_size);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_object));
itemString = solo.getString(R.string.formula_editor_object_rotation);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_object));
itemString = solo.getString(R.string.formula_editor_object_layer);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
}
public void testMathFragment() {
String itemString = "";
solo.clickOnView(solo.getView(CHANGE_SIZE_EDIT_TEXT_RID));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
EditText text = (EditText) solo.getView(R.id.formula_editor_edit_field);
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_function));
String categoryTitle = solo.getString(R.string.formula_editor_functions_maths);
assertTrue("Category Title not found", solo.searchText(categoryTitle.toUpperCase(Locale.getDefault())));
itemString = solo.getString(R.string.formula_editor_function_sin);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_function));
itemString = solo.getString(R.string.formula_editor_function_cos);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_function));
itemString = solo.getString(R.string.formula_editor_function_tan);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_function));
itemString = solo.getString(R.string.formula_editor_function_ln);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_function));
itemString = solo.getString(R.string.formula_editor_function_log);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_function));
itemString = solo.getString(R.string.formula_editor_function_pi);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_function));
itemString = solo.getString(R.string.formula_editor_function_sqrt);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_function));
itemString = solo.getString(R.string.formula_editor_function_rand);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_function));
itemString = solo.getString(R.string.formula_editor_function_abs);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_function));
itemString = solo.getString(R.string.formula_editor_function_round);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
}
public void testLogicFragment() {
String itemString = "";
solo.clickOnView(solo.getView(CHANGE_SIZE_EDIT_TEXT_RID));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
EditText text = (EditText) solo.getView(R.id.formula_editor_edit_field);
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_logic));
String categoryTitle = solo.getString(R.string.formula_editor_logic_comparison);
assertTrue("Category Title not found", solo.searchText(categoryTitle.toUpperCase(Locale.getDefault())));
itemString = solo.getString(R.string.formula_editor_logic_equal);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_logic));
itemString = solo.getString(R.string.formula_editor_logic_notequal);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_logic));
itemString = solo.getString(R.string.formula_editor_logic_lesserthan);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_logic));
itemString = solo.getString(R.string.formula_editor_logic_leserequal);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_logic));
itemString = solo.getString(R.string.formula_editor_logic_greaterthan);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_logic));
itemString = solo.getString(R.string.formula_editor_logic_greaterequal);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_logic));
solo.scrollUp();
itemString = solo.getString(R.string.formula_editor_logic_and);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_logic));
itemString = solo.getString(R.string.formula_editor_logic_or);
solo.clickOnText(itemString, 2);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_logic));
itemString = solo.getString(R.string.formula_editor_logic_not);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
}
public void testSensorsFragment() {
String itemString = "";
solo.clickOnView(solo.getView(CHANGE_SIZE_EDIT_TEXT_RID));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
ArrayList<EditText> textList = solo.getCurrentViews(EditText.class);
EditText text = textList.get(textList.size() - 1);
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_sensors));
String categoryTitle = solo.getString(R.string.formula_editor_device_face_detection);
assertTrue("Category Title not found", solo.searchText(categoryTitle.toUpperCase(Locale.getDefault())));
itemString = solo.getString(R.string.formula_editor_sensor_x_acceleration);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_sensors));
itemString = solo.getString(R.string.formula_editor_sensor_y_acceleration);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_sensors));
itemString = solo.getString(R.string.formula_editor_sensor_z_acceleration);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_sensors));
itemString = solo.getString(R.string.formula_editor_sensor_compass_direction);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_sensors));
itemString = solo.getString(R.string.formula_editor_sensor_x_inclination);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_sensors));
itemString = solo.getString(R.string.formula_editor_sensor_y_inclination);
solo.clickOnText(itemString);
solo.waitForView(solo.getView(R.id.formula_editor_edit_field));
assertEquals("Wrong button clicked", itemString, text.getText().toString().substring(0, itemString.length()));
solo.clickOnView(solo.getView(R.id.formula_editor_keyboard_delete));
}
}