diff options
| -rw-r--r-- | tests/libs/robotium-solo-3.6.jar | bin | 0 -> 59067 bytes | |||
| -rw-r--r-- | tests/src/cgeo/geocaching/files/SimpleDirChooserUITest.java | 58 |
2 files changed, 58 insertions, 0 deletions
diff --git a/tests/libs/robotium-solo-3.6.jar b/tests/libs/robotium-solo-3.6.jar Binary files differnew file mode 100644 index 0000000..4280906 --- /dev/null +++ b/tests/libs/robotium-solo-3.6.jar diff --git a/tests/src/cgeo/geocaching/files/SimpleDirChooserUITest.java b/tests/src/cgeo/geocaching/files/SimpleDirChooserUITest.java new file mode 100644 index 0000000..c4f597e --- /dev/null +++ b/tests/src/cgeo/geocaching/files/SimpleDirChooserUITest.java @@ -0,0 +1,58 @@ +package cgeo.geocaching.files; + +import com.jayway.android.robotium.solo.Solo; + +import android.annotation.TargetApi; +import android.os.Build; +import android.test.ActivityInstrumentationTestCase2; +import android.widget.CheckBox; + +import java.util.ArrayList; + +@TargetApi(Build.VERSION_CODES.FROYO) +public class SimpleDirChooserUITest extends ActivityInstrumentationTestCase2<SimpleDirChooser> { + + private Solo solo; + + public SimpleDirChooserUITest() { + super(SimpleDirChooser.class); + } + + @Override + public void setUp() throws Exception { + solo = new Solo(getInstrumentation(), getActivity()); + } + + public void testSingleSelection() { + assertChecked(0); + + solo.scrollToBottom(); + final ArrayList<CheckBox> boxes = solo.getCurrentCheckBoxes(); + final int lastIndex = boxes.size() - 1; + solo.clickOnCheckBox(lastIndex); + assertTrue(solo.getCurrentCheckBoxes().get(lastIndex).isChecked()); + assertFalse(solo.getCurrentCheckBoxes().get(0).isChecked()); + assertChecked(1); + + solo.scrollUp(); + assertChecked(1); + + solo.clickOnCheckBox(0); + assertChecked(1); + assertTrue(solo.getCurrentCheckBoxes().get(0).isChecked()); + } + + private void assertChecked(int expectedChecked) { + int checked = 0; + final ArrayList<CheckBox> boxes = solo.getCurrentCheckBoxes(); + assertNotNull(boxes); + assertTrue(boxes.size() > 1); + for (CheckBox checkBox : boxes) { + if (checkBox.isChecked()) { + checked++; + } + } + assertEquals(expectedChecked, checked); + } + +} |
