diff --git a/libraries/stdlib/test/collections/CollectionBehaviors.kt b/libraries/stdlib/test/collections/CollectionBehaviors.kt index 4771cc2c542..59eb12f484c 100644 --- a/libraries/stdlib/test/collections/CollectionBehaviors.kt +++ b/libraries/stdlib/test/collections/CollectionBehaviors.kt @@ -19,7 +19,7 @@ public fun CompareContext>.listBehavior() { for (index in expected.indices) propertyEquals { this[index] } - propertyFails { this[size] } + propertyFailsWith { this[size] } propertyEquals { indexOf(elementAtOrNull(0)) } propertyEquals { lastIndexOf(elementAtOrNull(0)) } @@ -103,6 +103,8 @@ public fun CompareContext>.collectionBehavior(objectName: Stri (object {}).let { propertyEquals { contains(it as Any?) } } propertyEquals { contains(firstOrNull()) } propertyEquals { containsAll(this) } + (object {}).let { propertyEquals { containsAll(listOf(it)) } } + propertyEquals { containsAll(listOf(null)) } } diff --git a/libraries/stdlib/test/collections/ComparisonDSL.kt b/libraries/stdlib/test/collections/ComparisonDSL.kt index 878aab0aae4..9b4cae683bf 100644 --- a/libraries/stdlib/test/collections/ComparisonDSL.kt +++ b/libraries/stdlib/test/collections/ComparisonDSL.kt @@ -31,6 +31,11 @@ public class CompareContext(public val expected: T, public val actual: T) assertFailEquals({ expected.getter() }, { actual.getter() }) } + public inline fun propertyFailsWith(crossinline getter: T.() -> Unit) { + assertFailsWith { expected.getter() } + assertFailsWith { actual.getter() } + } + public fun

compareProperty(getter: T.() -> P, block: CompareContext

.() -> Unit) { compare(expected.getter(), actual.getter(), block) }