Skip to content

Commit b60c923

Browse files
Codegen: assertArrayEquals overload is not found, tests doesn't compile (#17)
1 parent ea6decd commit b60c923

File tree

1 file changed

+25
-10
lines changed
  • utbot-framework/src/main/kotlin/org/utbot/framework/codegen

1 file changed

+25
-10
lines changed

utbot-framework/src/main/kotlin/org/utbot/framework/codegen/Domain.kt

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ const val JUNIT5_PARAMETERIZED_PACKAGE = "org.junit.jupiter.params"
7373

7474
//JUnit5 imports
7575
private const val TEST_NG_ASSERTIONS = "org.testng.Assert"
76+
private const val TEST_NG_ARRAYS_ASSERTIONS = "org.testng.internal.junit.ArrayAsserts"
7677
private const val JUNIT5_ASSERTIONS = "org.junit.jupiter.api.Assertions"
7778
private const val JUNIT4_ASSERTIONS = "org.junit.Assert"
7879

@@ -170,6 +171,7 @@ sealed class TestFramework(
170171
var isInstalled: Boolean = false
171172
abstract val mainPackage: String
172173
abstract val assertionsClass: ClassId
174+
abstract val arraysAssertionsClass: ClassId
173175
abstract val testAnnotation: String
174176
abstract val testAnnotationId: ClassId
175177
abstract val testAnnotationFqn: String
@@ -186,23 +188,23 @@ sealed class TestFramework(
186188

187189
val assertDoubleEquals by lazy { assertionId("assertEquals", doubleClassId, doubleClassId, doubleClassId) }
188190

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) }
190192

191-
val assertBooleanArrayEquals by lazy { assertionId("assertArrayEquals", booleanArrayClassId, booleanArrayClassId) }
193+
open val assertBooleanArrayEquals by lazy { assertionId("assertArrayEquals", booleanArrayClassId, booleanArrayClassId) }
192194

193-
val assertByteArrayEquals by lazy { assertionId("assertArrayEquals", byteArrayClassId, byteArrayClassId) }
195+
val assertByteArrayEquals by lazy { arrayAssertionId("assertArrayEquals", byteArrayClassId, byteArrayClassId) }
194196

195-
val assertCharArrayEquals by lazy { assertionId("assertArrayEquals", charArrayClassId, charArrayClassId) }
197+
val assertCharArrayEquals by lazy { arrayAssertionId("assertArrayEquals", charArrayClassId, charArrayClassId) }
196198

197-
val assertShortArrayEquals by lazy { assertionId("assertArrayEquals", shortArrayClassId, shortArrayClassId) }
199+
val assertShortArrayEquals by lazy { arrayAssertionId("assertArrayEquals", shortArrayClassId, shortArrayClassId) }
198200

199-
val assertIntArrayEquals by lazy { assertionId("assertArrayEquals", intArrayClassId, intArrayClassId) }
201+
val assertIntArrayEquals by lazy { arrayAssertionId("assertArrayEquals", intArrayClassId, intArrayClassId) }
200202

201-
val assertLongArrayEquals by lazy { assertionId("assertArrayEquals", longArrayClassId, longArrayClassId) }
203+
val assertLongArrayEquals by lazy { arrayAssertionId("assertArrayEquals", longArrayClassId, longArrayClassId) }
202204

203-
val assertFloatArrayEquals by lazy { assertionId("assertArrayEquals", floatArrayClassId, floatArrayClassId, floatClassId) }
205+
val assertFloatArrayEquals by lazy { arrayAssertionId("assertArrayEquals", floatArrayClassId, floatArrayClassId, floatClassId) }
204206

205-
val assertDoubleArrayEquals by lazy { assertionId("assertArrayEquals", doubleArrayClassId, doubleArrayClassId, doubleClassId) }
207+
val assertDoubleArrayEquals by lazy { arrayAssertionId("assertArrayEquals", doubleArrayClassId, doubleArrayClassId, doubleClassId) }
206208

207209
val assertNull by lazy { assertionId("assertNull", objectClassId) }
208210

@@ -212,8 +214,10 @@ sealed class TestFramework(
212214

213215
val assertNotEquals by lazy { assertionId("assertNotEquals", objectClassId, objectClassId) }
214216

215-
private fun assertionId(name: String, vararg params: ClassId): MethodId =
217+
protected fun assertionId(name: String, vararg params: ClassId): MethodId =
216218
builtinStaticMethodId(assertionsClass, name, voidClassId, *params)
219+
private fun arrayAssertionId(name: String, vararg params: ClassId): MethodId =
220+
builtinStaticMethodId(arraysAssertionsClass, name, voidClassId, *params)
217221

218222
abstract fun getRunTestsCommand(
219223
executionInvoke: String,
@@ -251,6 +255,14 @@ object TestNg : TestFramework(displayName = "TestNG") {
251255
simpleName = "Assert"
252256
)
253257

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+
254266
val throwingRunnableClassId = BuiltinClassId(
255267
name = "${assertionsClass.name}\$ThrowingRunnable",
256268
canonicalName = "${assertionsClass.canonicalName}.ThrowingRunnable",
@@ -353,6 +365,7 @@ object Junit4 : TestFramework("JUnit4") {
353365
canonicalName = JUNIT4_ASSERTIONS,
354366
simpleName = "Assert"
355367
)
368+
override val arraysAssertionsClass = assertionsClass
356369

357370
val ignoreAnnotationClassId = with("$JUNIT4_PACKAGE.Ignore") {
358371
BuiltinClassId(
@@ -421,6 +434,8 @@ object Junit5 : TestFramework("JUnit5") {
421434
simpleName = "Assertions"
422435
)
423436

437+
override val arraysAssertionsClass = assertionsClass
438+
424439
val assertThrows = builtinStaticMethodId(
425440
classId = assertionsClass,
426441
name = "assertThrows",

0 commit comments

Comments
 (0)