@@ -13,6 +13,8 @@ import org.utbot.go.imports.GoImportsResolver
13
13
14
14
object GoTestCasesCodeGenerator {
15
15
16
+ private const val prefixOfVariableNames = " arg"
17
+
16
18
private val alwaysRequiredImports = setOf (
17
19
GoImport (GoPackage (" assert" , " github.com/stretchr/testify/assert" )),
18
20
GoImport (GoPackage (" testing" , " testing" ))
@@ -300,17 +302,38 @@ object GoTestCasesCodeGenerator {
300
302
}
301
303
302
304
private fun generateVariables (fuzzedFunction : GoUtFuzzedFunction ): List <Variable > {
303
- val function = fuzzedFunction.function
304
- val parameters = if (function.isMethod) {
305
- listOf (function.receiver!! ) + function.parameters
306
- } else {
307
- function.parameters
305
+ val parameters = fuzzedFunction.function.let { function ->
306
+ if (function.isMethod) {
307
+ listOf (function.receiver!! ) + function.parameters
308
+ } else {
309
+ function.parameters
310
+ }
308
311
}
309
- val parametersValues = fuzzedFunction.parametersValues
310
- return parameters.map { it.name }.zip(parameters.map { it.type }).zip(parametersValues)
312
+ val parameterNames = parameters.map { it.name }
313
+ val parameterValues = fuzzedFunction.parametersValues
314
+ val parametersTypes = parameters.map { it.type }
315
+
316
+ val busyVariableNames = parameterNames.filter { it != " " && it != " _" }.toMutableSet()
317
+ val variablesNumber = parameterNames.filter { it == " " || it == " _" }.size
318
+ var variablesIndex = 1
319
+
320
+ return parameterNames.zip(parametersTypes).zip(parameterValues)
311
321
.map { (nameAndType, value) ->
312
322
val (name, type) = nameAndType
313
- Variable (name, type, value)
323
+ val variableName = if (name == " " || name == " _" ) {
324
+ if (variablesNumber == 1 && prefixOfVariableNames !in busyVariableNames) {
325
+ prefixOfVariableNames
326
+ } else {
327
+ while (" $prefixOfVariableNames$variablesIndex " in busyVariableNames) {
328
+ variablesIndex++
329
+ }
330
+ " $prefixOfVariableNames$variablesIndex "
331
+ }
332
+ } else {
333
+ name
334
+ }
335
+ busyVariableNames.add(variableName)
336
+ Variable (variableName, type, value)
314
337
}
315
338
}
316
339
0 commit comments