doc / ch.tutteli.atrium.api.fluent.en_GB / asEntries

asEntries

fun <K, V, T : Map<out K, V>> Expect<T>.asEntries(): Expect<Set<Entry<K, V>>> (source)

Turns Expect<Map<K, V>> into Expect<Set<Map.Entry<K, V>>>.

The transformation as such is not reflected in reporting. Use feature { f(it::entries) } if you want to show the transformation in reporting.

expect(mapOf(1 to "a"))
    .asEntries() // subject is now of type Map.Entry<Int, String> (actually <1,"a">)
    .toEqual(mapOf(1 to "a").entries)

fails { // because <1,"a"> is not equal to <1,"b">
    expect(mapOf(1 to "a")).asEntries()
        .toEqual(mapOf(1 to "b").entries)
}

Return
The newly created Expect for the transformed subject.

fun <K, V, T : Map<out K, V>> Expect<T>.asEntries(assertionCreator: Expect<Set<Entry<K, V>>>.() -> Unit): Expect<T> (source)

Turns Expect<Map<K, V>> into Expect<Set<Map.Entry<K, V>>> and expects that it holds all assertions the given assertionCreator creates for it.

The transformation as such is not reflected in reporting. Use feature { f(it::entries) } if you want to show the transformation in reporting.

expect(mapOf(1 to "a")).asEntries { // subject inside this block is of type Map.Entry<Int, String> (actually <1,"a">)
    toEqual(mapOf(1 to "a").entries)
} // subject here is back to type Map<Int, String>

fails {
    expect(mapOf(1 to "a")).asEntries {   // subject inside this block is of type Map.Entry<Int, String> (actually <1,"a">)
        toEqual(mapOf(1 to "b").entries)  // fails because <1,"a"> is not equal to <1,"b">
    }
}

Return
an Expect for the subject of this expectation.