Ryan Payne
Ryan Payne

Reputation: 6331

What is the equivalent of AssertJ filteredOn for assertk?

When using AssertJ, I'm able to use filteredOn to narrow down a list and then make an assertion.

@Test
fun `filteredOn assertion`() {
    val amenities = listOf(
        Amenity(name = "Camping", selected = true),
        Amenity(name = "Hiking", selected = false),
        Amenity(name = "Swimming", selected = false)
    )

    assertThat(amenities).filteredOn { it.selected }
        .containsExactly(Amenity(name = "Camping", selected = true))
}

data class Amenity(
    val name: String,
    val selected: Boolean
)

What is the equivalent of this for assertk?

Upvotes: 0

Views: 109

Answers (1)

Ryan Payne
Ryan Payne

Reputation: 6331

There is no equivalent with assertk but you can always filter the list before asserting with Kotlin.

val result = amenities.filter { it.selected }
assertThat(result).containsExactly(
    Amenity(name = "Camping", selected = true)
)

Upvotes: 1

Related Questions