Skip to content

Commit aee786f

Browse files
committed
Add functional test
1 parent aa593ba commit aee786f

2 files changed

Lines changed: 37 additions & 16 deletions

File tree

AndroidAnnotations/functional-test-1-5-tests/src/test/java/org/androidannotations/test15/ItemClicksHandledActivityTest.java

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,14 @@
1515
*/
1616
package org.androidannotations.test15;
1717

18-
import static org.fest.assertions.Assertions.assertThat;
19-
18+
import android.view.View;
19+
import android.widget.ListView;
20+
import android.widget.Spinner;
2021
import org.junit.Before;
2122
import org.junit.Test;
2223
import org.junit.runner.RunWith;
2324

24-
import android.view.View;
25-
import android.widget.ListView;
26-
import android.widget.Spinner;
25+
import static org.fest.assertions.Assertions.assertThat;
2726

2827
@RunWith(AndroidAnnotationsTestRunner.class)
2928
public class ItemClicksHandledActivityTest {
@@ -117,4 +116,15 @@ public void can_have_one_selected_argument() {
117116
assertThat(activity.listViewWithOneParamItemSelected).isTrue();
118117
}
119118

119+
@Test
120+
public void handlingListViewItemClickWithParametrizedItem() {
121+
ListView listView = (ListView) activity.findViewById(R.id.listViewWithArgumentWithParameterType);
122+
long itemId = listView.getAdapter().getItemId(TESTED_CLICKED_INDEX);
123+
View view = listView.getChildAt(TESTED_CLICKED_INDEX);
124+
125+
assertThat(activity.listViewParametrizedItemClicked).isFalse();
126+
listView.performItemClick(view, TESTED_CLICKED_INDEX, itemId);
127+
assertThat(activity.listViewParametrizedItemClicked).isTrue();
128+
}
129+
120130
}

AndroidAnnotations/functional-test-1-5/src/main/java/org/androidannotations/test15/ItemClicksHandledActivity.java

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,14 @@
1515
*/
1616
package org.androidannotations.test15;
1717

18-
import java.util.ArrayList;
19-
20-
import org.androidannotations.annotations.AfterViews;
21-
import org.androidannotations.annotations.EActivity;
22-
import org.androidannotations.annotations.ItemClick;
23-
import org.androidannotations.annotations.ItemLongClick;
24-
import org.androidannotations.annotations.ItemSelect;
25-
import org.androidannotations.annotations.ViewById;
26-
2718
import android.app.Activity;
2819
import android.widget.ArrayAdapter;
2920
import android.widget.ListView;
3021
import android.widget.Spinner;
22+
import org.androidannotations.annotations.*;
23+
24+
import java.util.ArrayList;
25+
import java.util.List;
3126

3227
@EActivity(R.layout.item_clicks_handled)
3328
public class ItemClicksHandledActivity extends Activity {
@@ -55,6 +50,7 @@ public class ItemClicksHandledActivity extends Activity {
5550

5651
boolean spinnerItemClicked = false;
5752
boolean listViewItemClicked = false;
53+
boolean listViewParametrizedItemClicked = false;
5854

5955
String spinnerWithArgumentSelectedItem = null;
6056
String listViewWithArgumentSelectedItem = null;
@@ -65,6 +61,7 @@ public class ItemClicksHandledActivity extends Activity {
6561
int listViewWithPositionItemSelectedPosition;
6662

6763
private ArrayAdapter<CharSequence> adapter;
64+
private ArrayAdapter<ArrayList<String>> parametrizedAdapter;
6865

6966
boolean listViewWithOneParamItemSelected;
7067

@@ -74,11 +71,13 @@ void initView() {
7471
R.layout.simple_spinner_item);
7572
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
7673

74+
parametrizedAdapter = new ArrayAdapter<ArrayList<String>>(this, android.R.layout.simple_list_item_1, stringLists());
75+
7776
spinner.setAdapter(adapter);
7877
listView.setAdapter(adapter);
7978
spinnerWithArgument.setAdapter(adapter);
8079
listViewWithArgument.setAdapter(adapter);
81-
listViewWithArgumentWithParameterType.setAdapter(adapter);
80+
listViewWithArgumentWithParameterType.setAdapter(parametrizedAdapter);
8281
listViewWithPosition.setAdapter(adapter);
8382
listViewWithOneParam.setAdapter(adapter);
8483
spinnerItemClicked = false;
@@ -101,7 +100,7 @@ public void listViewWithArgument(String selectedItem) {
101100

102101
@ItemClick(R.id.listViewWithArgumentWithParameterType)
103102
protected void listViewWithArgumentWithParameterType(ArrayList<String> item) {
104-
103+
listViewParametrizedItemClicked = true;
105104
}
106105

107106
@ItemClick
@@ -135,4 +134,16 @@ void listViewWithPositionItemLongClicked(int position) {
135134

136135
}
137136

137+
private List<ArrayList<String>> stringLists() {
138+
List<ArrayList<String>> stringLists = new ArrayList<ArrayList<String>>();
139+
for (int i = 0; i < 10; i++) {
140+
ArrayList<String> stringList = new ArrayList<String>();
141+
for (int j = 0; j < 4; j++) {
142+
stringList.add(i + " : " + j);
143+
}
144+
stringLists.add(stringList);
145+
}
146+
return stringLists;
147+
}
148+
138149
}

0 commit comments

Comments
 (0)