11package test.assertk.assertions
22
33import assertk.all
4+ import assertk.assertFailure
45import assertk.assertThat
56import assertk.assertions.any
67import assertk.assertions.atLeast
@@ -9,9 +10,11 @@ import assertk.assertions.contains
910import assertk.assertions.containsAtLeast
1011import assertk.assertions.containsExactly
1112import assertk.assertions.containsExactlyInAnyOrder
13+ import assertk.assertions.containsInstanceOf
1214import assertk.assertions.containsNone
1315import assertk.assertions.containsOnly
1416import assertk.assertions.doesNotContain
17+ import assertk.assertions.doesNotContainInstanceOf
1518import assertk.assertions.each
1619import assertk.assertions.exactly
1720import assertk.assertions.extracting
@@ -229,6 +232,32 @@ class IterableTest {
229232 }
230233 // endregion
231234
235+ // region containsInstanceOf
236+ @Test fun containsInstanceOf_element_present_passes () {
237+ assertThat(iterableOf(1 , " two" )).containsInstanceOf<String >().single().isEqualTo(" two" )
238+ }
239+
240+ @Test fun containsInstanceOf_element_missing_fails () {
241+ val error = assertFailsWith<AssertionError > {
242+ assertThat(iterableOf(1 , " two" )).containsInstanceOf<Double >()
243+ }
244+ assertEquals(" expected to contain at least one instance of class kotlin.Double but was [1, two]" , error.message)
245+ }
246+ // endregion
247+
248+ // region doesNotContainInstanceOf
249+ @Test fun doesNotContainInstanceOf_element_present_fails () {
250+ val error = assertFailsWith<AssertionError >() {
251+ assertThat(iterableOf(1 , " two" )).doesNotContainInstanceOf<String >()
252+ }
253+ assertEquals(" expected to contain no instances of class kotlin.String but was [1, two]" , error.message)
254+ }
255+
256+ @Test fun doesNotContainInstanceOf_element_missing_passes () {
257+ assertThat(iterableOf(1 , " two" )).doesNotContainInstanceOf<Double >()
258+ }
259+ // endregion
260+
232261 // region each
233262 @Test
234263 fun each_empty_list_passes () {
0 commit comments