1 package shark 2 3 import org.assertj.core.api.Assertions.assertThat 4 import shark.internal.hppc.LongScatterSet 5 6 /** 7 * Assertion class for writing checks for [LongScatterSet] in AssertJ style. 8 * API is made similar to [org.assertj.core.api.AbstractIterableAssert]. 9 */ 10 internal class LongScatterSetAssertion(private val actual: LongScatterSet) { 11 <lambda>null12 fun contains(value: Long) = apply { 13 assertThat(value in actual).isTrue() 14 } 15 <lambda>null16 fun contains(values: List<Long>) = apply { 17 values.forEach { contains(it) } 18 } 19 <lambda>null20 fun containsExactly(value: Long) = apply { 21 hasSize(1) 22 contains(value) 23 } 24 <lambda>null25 fun containsExactly(values: List<Long>) = apply { 26 hasSize(values.size) 27 contains(values) 28 } 29 <lambda>null30 fun hasSize(expected: Int) = apply { 31 assertThat(actual.size()).isEqualTo(expected) 32 } 33 isEmptynull34 fun isEmpty() = hasSize(0) 35 36 companion object { 37 fun assertThat(actual: LongScatterSet): LongScatterSetAssertion = 38 LongScatterSetAssertion(actual) 39 } 40 } 41