class MoneyBeamSampleRobot : BaseRobot() {
private val amountEditText = R.id.editMoneyBeamTransferAmount
private val descriptionText = R.id.textMoneyBeamTransferAmountDescription
private val errorText = R.id.textMoneyBeamTransferAmountError
// other view IDs
fun isDescriptionDisplayed(text: String) {
assertDisplayed(descriptionText, text)
assertNotDisplayed(errorText)
}
fun isErrorDisplayed(text: String) { ... }
fun isOriginDisplayed(name: String, initials: String, balance: String) {
onView(allOf(withParent(withId(originContainer)), withId(nameText))).check(matches(allOf(isDisplayed(), withText(name))))
onView(allOf(withParent(withId(originContainer)), withId(initialsText))).check(matches(allOf(isDisplayed(), withText(initials))))
onView(allOf(withParent(withId(originContainer)), withId(balanceText))).check(matches(allOf(isDisplayed(), withText(balance))))
}
fun isDestinationDisplayed(name: String, initials: String) { ... }
fun isContinueButtonEnabled() = isButtonEnabled(continueButton)
fun isContinueButtonDisabled() = isButtonDisabled(continueButton)
fun enterAmount(amount: String) = writeTo(amountEditText, amount)
fun clickOnContinueButton() = clickOn(continueButton)
}