diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2012-11-30 12:32:56 +0100 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2012-12-06 20:05:59 +0100 |
| commit | 6490d3d0dc9a4e377062ce1e1211642e6beb318f (patch) | |
| tree | c55a88b67b4817574c7eab8f41533cbc3da37928 /tests/src/cgeo/geocaching/files/SimpleDirChooserUITest.java | |
| parent | fb745b09db4b27fbc0d749c0b9007382bbcadfb2 (diff) | |
| download | cgeo-6490d3d0dc9a4e377062ce1e1211642e6beb318f.zip cgeo-6490d3d0dc9a4e377062ce1e1211642e6beb318f.tar.gz cgeo-6490d3d0dc9a4e377062ce1e1211642e6beb318f.tar.bz2 | |
have initial UI test for #2208
Diffstat (limited to 'tests/src/cgeo/geocaching/files/SimpleDirChooserUITest.java')
| -rw-r--r-- | tests/src/cgeo/geocaching/files/SimpleDirChooserUITest.java | 58 |
1 files changed, 58 insertions, 0 deletions
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); + } + +} |
