1 year ago
#368421
ohSnapFit
DividebyZero error in pre-launch report testing, despite intent only running when if statement says to keep that condition from happening
I have received a pre-launch report saying there is a divideByZero
runtime error when their test deselects both of two checkboxes ("Fractions to Decimals" and "Decimals to Fractions". This makes sense, except that I keep the user from doing so with the following code. How come their testing bots are able to get to the else
part of the when
function?
What is the appropriate way to make this more bullet proof? Do I need to be coding with a different logic in mind, namely one that those bots can do?
override fun onClick(view: View?) {
when(view?.id) {
R.id.btn_to_main -> {
val noFracSelected: Boolean = !(Constants.ASK_8 || Constants.ASK_16 || Constants.ASK_32 || Constants.ASK_64) //true if frac type is selected
val noQuestionTypeSelected: Boolean = !(Constants.ASK_DtoF || Constants.ASK_FtoD)
when {
noFracSelected -> Toast.makeText(this, "Select at least one type of fraction", Toast.LENGTH_LONG).show()
noQuestionTypeSelected-> Toast.makeText(this, "Select at least one type of question", Toast.LENGTH_LONG).show()
else -> {
val intent = Intent(this, MainActivity::class.java)
startActivity(intent)
}
}
}
}
}
android
kotlin
checkbox
divide-by-zero
prelaunch
0 Answers
Your Answer