Skip to content

Commit 870153f

Browse files
Correct casts for negative numbers and test file name for inner classes #2514 #2515 (#2518)
1 parent 8ef6bd5 commit 870153f

File tree

11 files changed

+209
-47
lines changed

11 files changed

+209
-47
lines changed

utbot-framework/src/main/kotlin/org/utbot/framework/codegen/renderer/CgJavaRenderer.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,11 +145,19 @@ internal class CgJavaRenderer(context: CgRendererContext, printer: CgPrinter = C
145145
return
146146
}
147147

148+
val isNegativeNumber = element.expression is CgLiteral
149+
&& element.expression.value is Number && element.expression.value.toDouble() < 0
150+
148151
print("(")
152+
149153
print("(")
150154
print(wrappedTargetType.asString())
151155
print(") ")
156+
157+
if (isNegativeNumber) print("(")
152158
element.expression.accept(this)
159+
if (isNegativeNumber) print(")")
160+
153161
print(")")
154162
}
155163

utbot-framework/src/main/kotlin/org/utbot/framework/codegen/services/language/JavaCgLanguageAssistant.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import org.utbot.framework.codegen.renderer.CgJavaRenderer
66
import org.utbot.framework.codegen.renderer.CgRendererContext
77
import org.utbot.framework.plugin.api.ClassId
88
import org.utbot.framework.plugin.api.JVMTestFrameworkManager
9-
import org.utbot.framework.plugin.api.utils.testClassNameGenerator
9+
import org.utbot.framework.plugin.api.utils.ClassNameUtils.generateTestClassName
1010

1111
object JavaCgLanguageAssistant : AbstractCgLanguageAssistant() {
1212

@@ -26,7 +26,7 @@ object JavaCgLanguageAssistant : AbstractCgLanguageAssistant() {
2626
testClassPackageName: String,
2727
classUnderTest: ClassId
2828
): Pair<String, String> {
29-
return testClassNameGenerator(testClassCustomName, testClassPackageName, classUnderTest)
29+
return generateTestClassName(testClassCustomName, testClassPackageName, classUnderTest)
3030
}
3131

3232
override fun getLanguageTestFrameworkManager() = JVMTestFrameworkManager()

utbot-framework/src/main/kotlin/org/utbot/framework/codegen/services/language/KotlinCgLanguageAssistant.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import org.utbot.framework.codegen.renderer.CgKotlinRenderer
66
import org.utbot.framework.codegen.renderer.CgRendererContext
77
import org.utbot.framework.plugin.api.ClassId
88
import org.utbot.framework.plugin.api.JVMTestFrameworkManager
9-
import org.utbot.framework.plugin.api.utils.testClassNameGenerator
9+
import org.utbot.framework.plugin.api.utils.ClassNameUtils.generateTestClassName
1010

1111
object KotlinCgLanguageAssistant : AbstractCgLanguageAssistant() {
1212

@@ -24,7 +24,7 @@ object KotlinCgLanguageAssistant : AbstractCgLanguageAssistant() {
2424
testClassPackageName: String,
2525
classUnderTest: ClassId
2626
): Pair<String, String> {
27-
return testClassNameGenerator(testClassCustomName, testClassPackageName, classUnderTest)
27+
return generateTestClassName(testClassCustomName, testClassPackageName, classUnderTest)
2828
}
2929

3030
override fun getLanguageTestFrameworkManager() = JVMTestFrameworkManager()
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package org.utbot.framework.plugin.api.utils
2+
3+
import org.utbot.framework.plugin.api.ClassId
4+
import org.utbot.framework.plugin.api.util.nameWithEnclosingClassesAsContigousString
5+
6+
object ClassNameUtils {
7+
fun generateTestClassName(
8+
testClassCustomName: String?,
9+
testClassPackageName: String,
10+
classUnderTest: ClassId,
11+
): Pair<String, String> {
12+
val packagePrefix = if (testClassPackageName.isNotEmpty()) "$testClassPackageName." else ""
13+
val simpleName = testClassCustomName ?: generateTestClassShortName(classUnderTest)
14+
val name = "$packagePrefix$simpleName"
15+
return Pair(name, simpleName)
16+
}
17+
18+
fun generateTestClassShortName(classUnderTest: ClassId): String =
19+
"${classUnderTest.nameWithEnclosingClassesAsContigousString}Test"
20+
}
21+
22+

utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/utils/CodeLanguageUtils.kt

Lines changed: 0 additions & 15 deletions
This file was deleted.

utbot-framework/src/main/kotlin/org/utbot/framework/process/EngineProcessMain.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import org.utbot.framework.plugin.api.util.executableId
2525
import org.utbot.framework.plugin.api.util.id
2626
import org.utbot.framework.plugin.api.util.jClass
2727
import org.utbot.framework.plugin.api.util.method
28+
import org.utbot.framework.plugin.api.utils.ClassNameUtils
2829
import org.utbot.framework.plugin.services.JdkInfo
2930
import org.utbot.framework.process.generated.*
3031
import org.utbot.framework.process.generated.BeanAdditionalData
@@ -121,6 +122,11 @@ private fun EngineProcessModel.setup(kryoHelper: KryoHelper, watchdog: IdleWatch
121122
}
122123
)
123124
}
125+
watchdog.measureTimeForActiveCall(findTestClassName, "Creating test class name") { params ->
126+
val classUnderTest: ClassId = kryoHelper.readObject(params.classUnderTest)
127+
val testClassName = ClassNameUtils.generateTestClassShortName(classUnderTest)
128+
TestClassNameResult(testClassName)
129+
}
124130
watchdog.measureTimeForActiveCall(generate, "Generating tests") { params ->
125131
val methods: List<ExecutableId> = kryoHelper.readObject(params.methods)
126132
logger.debug()

0 commit comments

Comments
 (0)