Skip to content

Commit 445f433

Browse files
committed
Added factory method for EitherAssert type
1 parent cbbead6 commit 445f433

File tree

3 files changed

+47
-0
lines changed

3 files changed

+47
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package `in`.rcard.assertj.arrowcore
2+
3+
import arrow.core.Either
4+
import org.assertj.core.api.AbstractAssert
5+
6+
abstract class AbstractEitherAssert<SELF : AbstractEitherAssert<SELF, LEFT, RIGHT>, LEFT, RIGHT>(either: Either<LEFT, RIGHT>?) :
7+
AbstractAssert<SELF, Either<LEFT, RIGHT>>(either, AbstractEitherAssert::class.java)
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package `in`.rcard.assertj.arrowcore
2+
3+
import arrow.core.Either
4+
5+
class EitherAssert<LEFT, RIGHT>(either: Either<LEFT, RIGHT>?) :
6+
AbstractEitherAssert<EitherAssert<LEFT, RIGHT>, LEFT, RIGHT>(either) {
7+
companion object {
8+
fun <LEFT, RIGHT> assertThat(actual: Either<LEFT, RIGHT>?): EitherAssert<LEFT, RIGHT> {
9+
return EitherAssert(actual)
10+
}
11+
}
12+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package `in`.rcard.assertj.arrowcore
2+
3+
import arrow.core.Either
4+
import arrow.core.right
5+
import org.assertj.core.api.BDDAssertions.then
6+
import org.junit.jupiter.api.Test
7+
8+
class EitherAssert_assertThat_Test {
9+
@Test
10+
fun `should create an assertion instance when given object is not null`() {
11+
// GIVEN
12+
val rightValue = 42.right()
13+
// WHEN
14+
val assertion = EitherAssert.assertThat(rightValue)
15+
// THEN
16+
then(assertion).isNotNull.isInstanceOf(EitherAssert::class.java)
17+
}
18+
19+
@Test
20+
fun `should create an assertion instance when given object is null`() {
21+
// GIVEN
22+
val rightValue: Either<Nothing, Nothing>? = null
23+
// WHEN
24+
val assertion = EitherAssert.assertThat(rightValue)
25+
// THEN
26+
then(assertion).isNotNull.isInstanceOf(EitherAssert::class.java)
27+
}
28+
}

0 commit comments

Comments
 (0)