You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Sep 4, 2019. It is now read-only.
Функция assertThrows проверяет тип выброшенного исключения с помощью вызова isInstance, что не всегда корректно.
Пример со студенческим решением lesson6.task1.plusMinus
fun plusMinus(expression: String): Int {
val parts = expression.split(" ")
val result = mutableListOf(parts[0].toInt())
...
return result.sum()
}
Если подать данному решению на вход строку "~JD*_c\\teH:QnPQudT,8z", оно выбросит NumberFormatException. А требуется, чтобы при неправильном формате строки выбрасывалось исключение IllegalArgumentException. При этом, тест вида:
Функция
assertThrows
проверяет тип выброшенного исключения с помощью вызоваisInstance
, что не всегда корректно.Пример со студенческим решением
lesson6.task1.plusMinus
Если подать данному решению на вход строку
"~JD*_c\\teH:QnPQudT,8z"
, оно выброситNumberFormatException
. А требуется, чтобы при неправильном формате строки выбрасывалось исключениеIllegalArgumentException
. При этом, тест вида:отработает правильно, так как
NumberFormatException
является наследникомIllegalArgumentException
, и соответственновозвращает
true
.При этом, в котоеде выброшенные исключения проверяются через
и на том же самом тесте решение падает.
The text was updated successfully, but these errors were encountered: