У меня есть следующие простые ArrayAdapter
, на которых я хотел бы запустить UnitTests:
class AccountSpinnerAdapter(context: Context, textViewResourceId: Int, private val values: Set<Account>) : ArrayAdapter<Account>(context, textViewResourceId, values.toList()) {
override fun getCount() = values.size
override fun getItem(position: Int) = values.elementAt(position)
override fun getItemId(position: Int) = position.toLong()
override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
val label = super.getView(position, convertView, parent) as TextView
label.text = values.elementAt(position).displayName
return label
}
override fun getDropDownView(position: Int, convertView: View?, parent: ViewGroup): View {
val label = super.getDropDownView(position, convertView, parent) as TextView
label.text = values.elementAt(position).displayName
return label
}
}
getCount
, getItem
и getItemId
легко сделать.
Но как я могу проверить методы getView
и getDropDownView
? Проблемы, с которыми я сталкиваюсь:
- 3-й параметр
viewGroup
не может быть null
,Как подделать / смоделировать это ViewGroup
? - , оба метода вызывают
super.xxx
. Как я могу настроить конструкцию when/then
, чтобы она возвращала TextView
?