Skip to content

Commit 0bd47b9

Browse files
author
Simon Frost
committed
Add satisfying fun
1 parent dcd478c commit 0bd47b9

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/main/kotlin/in/rcard/assertj/arrowcore/AbstractEitherAssert.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import `in`.rcard.assertj.arrowcore.errors.EitherShouldContainInstanceOf.Compani
1010
import org.assertj.core.api.AbstractObjectAssert
1111
import org.assertj.core.internal.ComparisonStrategy
1212
import org.assertj.core.internal.StandardComparisonStrategy
13+
import java.util.function.Consumer
1314

1415
/**
1516
* Assertions for [Either].
@@ -81,6 +82,12 @@ abstract class AbstractEitherAssert<
8182
return myself
8283
}
8384

85+
fun hasRightValueSatisfying(requirement: Consumer<RIGHT>): SELF {
86+
assertIsRight()
87+
actual.onRight { requirement.accept(it) }
88+
return myself
89+
}
90+
8491
private fun assertIsRight() {
8592
isNotNull
8693
if (!actual.isRight()) {
@@ -114,6 +121,12 @@ abstract class AbstractEitherAssert<
114121
return myself
115122
}
116123

124+
fun hasLeftValueSatisfying(requirement: Consumer<LEFT>): SELF {
125+
assertIsLeft()
126+
actual.onLeft { requirement.accept(it) }
127+
return myself
128+
}
129+
117130
private fun assertIsLeft() {
118131
isNotNull
119132
if (!actual.isLeft()) {

src/main/kotlin/in/rcard/assertj/arrowcore/AbstractOptionAssert.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import `in`.rcard.assertj.arrowcore.errors.OptionShouldContainInstanceOf.Compani
88
import org.assertj.core.api.AbstractObjectAssert
99
import org.assertj.core.internal.ComparisonStrategy
1010
import org.assertj.core.internal.StandardComparisonStrategy
11+
import java.util.function.Consumer
1112

1213
/**
1314
* Assertions for [Option].
@@ -85,6 +86,12 @@ abstract class AbstractOptionAssert<
8586
return myself
8687
}
8788

89+
fun hasValueSatisfying(requirement: Consumer<VALUE>): SELF {
90+
assertValueIsPresent()
91+
actual.onSome { requirement.accept(it) }
92+
return myself
93+
}
94+
8895
private fun assertValueIsPresent() {
8996
isNotNull
9097
if (actual.isEmpty()) throwAssertionError(shouldBePresent())

0 commit comments

Comments
 (0)