#java #android #unit-testing #kotlin #junit
#java #Android #модульное тестирование #kotlin #junit
Вопрос:
Я писал тест junit, в котором я хотел знать, находится ли view pager в последнем элементе или нет. Как я могу это сделать. На самом деле я новичок в написании модульных тестов.
Заранее спасибо 🙂
Ответ №1:
Вы можете получить текущую позицию из ViewPager
usign getCurrentItem()
. Это значение вы можете сравнить с количеством элементов в ViewPager
адаптере.
Помните, что элементы в ViewPager
индексируются с 0 (so 0, 1, 2, 3, ...
), но количество элементов (в адаптере) в количестве элементов.
В kotlin:
val result = if (view_pager.adapter == null) {
// Adapter did not set
false
} else {
// Check if "current position" equal "number of elements
view_pager.currentItem == view_pager.adapter?.count?.minus(1)
}
В Java:
boolean resu<
if (viewPager.getAdapter() == null) {
// Adapter did not set
result = false;
} else {
// Check if "current position" equal "number of elements
result = viewPager.getCurrentItem() == viewPager.getAdapter().getCount() - 1;
}
Комментарии:
1. В kotlin вы можете записать это с помощью
view_pager.adapter?.let { ... } ?: false
2. @Ircover да, вы можете писать многими способами. Мое выше короче и больше похоже на Java.