@@ -73,6 +73,7 @@ const val JUNIT5_PARAMETERIZED_PACKAGE = "org.junit.jupiter.params"
73
73
74
74
// JUnit5 imports
75
75
private const val TEST_NG_ASSERTIONS = " org.testng.Assert"
76
+ private const val TEST_NG_ARRAYS_ASSERTIONS = " org.testng.internal.junit.ArrayAsserts"
76
77
private const val JUNIT5_ASSERTIONS = " org.junit.jupiter.api.Assertions"
77
78
private const val JUNIT4_ASSERTIONS = " org.junit.Assert"
78
79
@@ -170,6 +171,7 @@ sealed class TestFramework(
170
171
var isInstalled: Boolean = false
171
172
abstract val mainPackage: String
172
173
abstract val assertionsClass: ClassId
174
+ abstract val arraysAssertionsClass: ClassId
173
175
abstract val testAnnotation: String
174
176
abstract val testAnnotationId: ClassId
175
177
abstract val testAnnotationFqn: String
@@ -186,23 +188,23 @@ sealed class TestFramework(
186
188
187
189
val assertDoubleEquals by lazy { assertionId(" assertEquals" , doubleClassId, doubleClassId, doubleClassId) }
188
190
189
- val assertArrayEquals by lazy { assertionId (" assertArrayEquals" , Array <Any >::class .id, Array <Any >::class .id) }
191
+ val assertArrayEquals by lazy { arrayAssertionId (" assertArrayEquals" , Array <Any >::class .id, Array <Any >::class .id) }
190
192
191
- val assertBooleanArrayEquals by lazy { assertionId(" assertArrayEquals" , booleanArrayClassId, booleanArrayClassId) }
193
+ open val assertBooleanArrayEquals by lazy { assertionId(" assertArrayEquals" , booleanArrayClassId, booleanArrayClassId) }
192
194
193
- val assertByteArrayEquals by lazy { assertionId (" assertArrayEquals" , byteArrayClassId, byteArrayClassId) }
195
+ val assertByteArrayEquals by lazy { arrayAssertionId (" assertArrayEquals" , byteArrayClassId, byteArrayClassId) }
194
196
195
- val assertCharArrayEquals by lazy { assertionId (" assertArrayEquals" , charArrayClassId, charArrayClassId) }
197
+ val assertCharArrayEquals by lazy { arrayAssertionId (" assertArrayEquals" , charArrayClassId, charArrayClassId) }
196
198
197
- val assertShortArrayEquals by lazy { assertionId (" assertArrayEquals" , shortArrayClassId, shortArrayClassId) }
199
+ val assertShortArrayEquals by lazy { arrayAssertionId (" assertArrayEquals" , shortArrayClassId, shortArrayClassId) }
198
200
199
- val assertIntArrayEquals by lazy { assertionId (" assertArrayEquals" , intArrayClassId, intArrayClassId) }
201
+ val assertIntArrayEquals by lazy { arrayAssertionId (" assertArrayEquals" , intArrayClassId, intArrayClassId) }
200
202
201
- val assertLongArrayEquals by lazy { assertionId (" assertArrayEquals" , longArrayClassId, longArrayClassId) }
203
+ val assertLongArrayEquals by lazy { arrayAssertionId (" assertArrayEquals" , longArrayClassId, longArrayClassId) }
202
204
203
- val assertFloatArrayEquals by lazy { assertionId (" assertArrayEquals" , floatArrayClassId, floatArrayClassId, floatClassId) }
205
+ val assertFloatArrayEquals by lazy { arrayAssertionId (" assertArrayEquals" , floatArrayClassId, floatArrayClassId, floatClassId) }
204
206
205
- val assertDoubleArrayEquals by lazy { assertionId (" assertArrayEquals" , doubleArrayClassId, doubleArrayClassId, doubleClassId) }
207
+ val assertDoubleArrayEquals by lazy { arrayAssertionId (" assertArrayEquals" , doubleArrayClassId, doubleArrayClassId, doubleClassId) }
206
208
207
209
val assertNull by lazy { assertionId(" assertNull" , objectClassId) }
208
210
@@ -212,8 +214,10 @@ sealed class TestFramework(
212
214
213
215
val assertNotEquals by lazy { assertionId(" assertNotEquals" , objectClassId, objectClassId) }
214
216
215
- private fun assertionId (name : String , vararg params : ClassId ): MethodId =
217
+ protected fun assertionId (name : String , vararg params : ClassId ): MethodId =
216
218
builtinStaticMethodId(assertionsClass, name, voidClassId, * params)
219
+ private fun arrayAssertionId (name : String , vararg params : ClassId ): MethodId =
220
+ builtinStaticMethodId(arraysAssertionsClass, name, voidClassId, * params)
217
221
218
222
abstract fun getRunTestsCommand (
219
223
executionInvoke : String ,
@@ -251,6 +255,14 @@ object TestNg : TestFramework(displayName = "TestNG") {
251
255
simpleName = " Assert"
252
256
)
253
257
258
+ override val arraysAssertionsClass: ClassId = BuiltinClassId (
259
+ name = TEST_NG_ARRAYS_ASSERTIONS ,
260
+ canonicalName = TEST_NG_ARRAYS_ASSERTIONS ,
261
+ simpleName = " ArrayAsserts"
262
+ )
263
+
264
+ override val assertBooleanArrayEquals by lazy { assertionId(" assertEquals" , booleanArrayClassId, booleanArrayClassId) }
265
+
254
266
val throwingRunnableClassId = BuiltinClassId (
255
267
name = " ${assertionsClass.name} \$ ThrowingRunnable" ,
256
268
canonicalName = " ${assertionsClass.canonicalName} .ThrowingRunnable" ,
@@ -353,6 +365,7 @@ object Junit4 : TestFramework("JUnit4") {
353
365
canonicalName = JUNIT4_ASSERTIONS ,
354
366
simpleName = " Assert"
355
367
)
368
+ override val arraysAssertionsClass = assertionsClass
356
369
357
370
val ignoreAnnotationClassId = with (" $JUNIT4_PACKAGE .Ignore" ) {
358
371
BuiltinClassId (
@@ -421,6 +434,8 @@ object Junit5 : TestFramework("JUnit5") {
421
434
simpleName = " Assertions"
422
435
)
423
436
437
+ override val arraysAssertionsClass = assertionsClass
438
+
424
439
val assertThrows = builtinStaticMethodId(
425
440
classId = assertionsClass,
426
441
name = " assertThrows" ,
0 commit comments