@@ -13,6 +13,8 @@ import org.utbot.go.imports.GoImportsResolver
1313
1414object GoTestCasesCodeGenerator {
1515
16+ private const val prefixOfVariableNames = " arg"
17+
1618 private val alwaysRequiredImports = setOf (
1719 GoImport (GoPackage (" assert" , " github.com/stretchr/testify/assert" )),
1820 GoImport (GoPackage (" testing" , " testing" ))
@@ -300,17 +302,38 @@ object GoTestCasesCodeGenerator {
300302 }
301303
302304 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+ }
308311 }
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)
311321 .map { (nameAndType, value) ->
312322 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)
314337 }
315338 }
316339
0 commit comments