public void testRun() throws InterruptedException { /* GIVEN THAT I AM ON THE MAIN RESTAURANT LIST */ // Wait for activity: 'com.woww.woww.BaseDrawer' solo.waitForActivity(com.woww.woww.BaseDrawer.class, 2000); // Set default small timeout to 20009 milliseconds Timeout.setSmallTimeout(30009); // Scroll to ImageView android.widget.ListView listView0 = (android.widget.ListView) solo.getView(android.widget.ListView.class, 0); ArrayList<Restaurant> res; solo.scrollListToLine(listView0, 0); /* WHEN I OPEN THE MENU AND CLICK SORT BY PRICE */ solo.clickOnView(solo.getView(android.widget.ImageView.class, 1)); solo.clickInList(2, 0); Thread.sleep(2000); res = getListViewArray((RestaurantListAdapter) listView0.getAdapter()); /* THEN THE LIST SHOULD BE SORTED BY PRICE IN ASCENDING ORDER */ assertTrue(isOrderingValid(res, "price")); /* WHEN I OPEN THE MENU AND CLICK SORT BY RATING */ solo.clickOnView(solo.getView(android.widget.ImageView.class, 1)); solo.clickInList(3, 0); Thread.sleep(2000); res = getListViewArray((RestaurantListAdapter) listView0.getAdapter()); /* THEN THE LIST SHOULD BE SORTED BY RATING IN DESCENDING ORDER */ assertTrue(isOrderingValid(res, "rating")); /* WHEN I OPEN THE MENU AND CLICK SORT BY NAME */ solo.clickOnView(solo.getView(android.widget.ImageView.class, 1)); solo.clickInList(1, 0); Thread.sleep(5000); res = getListViewArray((RestaurantListAdapter) listView0.getAdapter()); /* THEN THE LIST SHOULD BE SORTED BY NAME IN ALPHABETICAL ORDER */ assertTrue(isOrderingValid(res, "name")); }