Я бы хотел проверить полученный результат с помощью Either.Давайте предположим, что у меня есть простой пример без Either
@Test
fun `test arithmetic`() {
val simpleResult = 2 + 2
Assertions.assertEquals(4, simpleResult)
}
А теперь я завернул результат:
@Test
fun `test arithmetic with either`() {
val result : Either<Nothing, Int> = (2 + 2).right()
Assertions.assertTrue(result.isRight())
result.map { Assertions.assertEquals(4, it) }
}
Полагаю, это выглядит немного уродливо, потому что последние утверждения не будутвыполняется, если мы получили Either.Left
вместо Either.Right
Как правильно проверить результат в функциональном стиле?