Igor Akkerman
01/06/2020, 12:18 PMrobstoll
01/06/2020, 12:34 PMIgor Akkerman
01/06/2020, 12:40 PMrobstoll
01/06/2020, 1:03 PMIgor Akkerman
01/06/2020, 1:04 PMrobstoll
01/06/2020, 1:05 PMfun <E, T : List<E>> Expect<T>.containsInOrderOnly(vararg assertionCreators: Expect<E>.() -> Unit): Expect<T> =
and {
assertionCreators.forEachIndexed { index, assertionCreator ->
get(index, assertionCreator)
}
}
and
in case you want fail-fast behaviourIgor Akkerman
01/06/2020, 1:14 PMrobstoll
01/06/2020, 1:14 PMIgor Akkerman
01/06/2020, 1:15 PMcontainsExactly
are varargsrobstoll
01/06/2020, 1:16 PMfun <E: Any, T : List<E>> Expect<T>.containsInOrderOnly(vararg values: E): Expect<T> =
and {
values.forEachIndexed { index, value ->
get(index).toBe(value)
}
}
Igor Akkerman
01/06/2020, 1:21 PMrobstoll
01/06/2020, 1:22 PMfun <E> Expect<Sequence<E>>.asList(): Expect<List<E>> = ExpectImpl.changeSubject(this).unreported { it.toList() }
and then the function above. But note that ExpectImpl is not stable yet and most likely changesIgor Akkerman
01/06/2020, 1:29 PMrobstoll
01/06/2020, 1:31 PMIgor Akkerman
01/06/2020, 8:38 PM