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.containsAll
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
@@ -208,6 +211,32 @@ class IterableTest {
208211 }
209212 // endregion
210213
214+ // region containsInstanceOf
215+ @Test fun containsInstanceOf_element_present_passes () {
216+ assertThat(iterableOf(1 , " two" )).containsInstanceOf<String >().single().isEqualTo(" two" )
217+ }
218+
219+ @Test fun containsInstanceOf_element_missing_fails () {
220+ val error = assertFailsWith<AssertionError > {
221+ assertThat(iterableOf(1 , " two" )).containsInstanceOf<Double >()
222+ }
223+ assertEquals(" expected to contain at least one instance of class kotlin.Double but was [1, two]" , error.message)
224+ }
225+ // endregion
226+
227+ // region doesNotContainInstanceOf
228+ @Test fun doesNotContainInstanceOf_element_present_fails () {
229+ val error = assertFailsWith<AssertionError >() {
230+ assertThat(iterableOf(1 , " two" )).doesNotContainInstanceOf<String >()
231+ }
232+ assertEquals(" expected to contain no instances of class kotlin.String but was [1, two]" , error.message)
233+ }
234+
235+ @Test fun doesNotContainInstanceOf_element_missing_passes () {
236+ assertThat(iterableOf(1 , " two" )).doesNotContainInstanceOf<Double >()
237+ }
238+ // endregion
239+
211240 // region each
212241 @Test fun each_empty_list_passes () {
213242 assertThat(emptyIterable<Int >()).each { it.isEqualTo(1 ) }
0 commit comments