aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/libs/robotium-solo-3.6.jarbin0 -> 59067 bytes
-rw-r--r--tests/src/cgeo/geocaching/files/SimpleDirChooserUITest.java58
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
new file mode 100644
index 0000000..4280906
--- /dev/null
+++ b/tests/libs/robotium-solo-3.6.jar
Binary files differ
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);
+ }
+
+}