diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/Summarization.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/Summarization.kt index 04228a4246..a9777a78a9 100644 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/Summarization.kt +++ b/utbot-summary/src/main/kotlin/org/utbot/summary/Summarization.kt @@ -80,14 +80,14 @@ class Summarization(val sourceFile: File?, val invokeDescriptions: List() + val executionClusters = mutableListOf() - clustersToReturn += generateSummariesForTestsWithNonEmptyPathsProducedBySymbolicExecutor(testSet) - clustersToReturn += generateSummariesForTestsProducedByFuzzer(testSet) - clustersToReturn += generateSummariesForTestsWithEmptyPathsProducedBySymbolicExecutor(testSet) + executionClusters += generateSummariesForTestsWithNonEmptyPathsProducedBySymbolicExecutor(testSet) + executionClusters += generateSummariesForTestsProducedByFuzzer(testSet) + executionClusters += generateSummariesForTestsWithEmptyPathsProducedBySymbolicExecutor(testSet) - return if (clustersToReturn.size > 0) - clustersToReturn + return if (GENERATE_CLUSTER_COMMENTS && executionClusters.size > 0) + executionClusters else listOf(UtExecutionCluster(UtClusterInfo(), testSet.executions)) } diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/UtSummarySettings.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/UtSummarySettings.kt index b27e6e04bb..c2150d33bc 100644 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/UtSummarySettings.kt +++ b/utbot-summary/src/main/kotlin/org/utbot/summary/UtSummarySettings.kt @@ -63,6 +63,7 @@ object SummarySentenceConstants { const val CARRIAGE_RETURN = "\r" const val FROM_TO_NAMES_TRANSITION = "->" + const val FROM_TO_NAMES_COLON = ":" const val AT_CODE = "@code" const val OPEN_BRACKET = "{" const val CLOSE_BRACKET = "}" diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/ModelBasedNameSuggester.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/ModelBasedNameSuggester.kt index 51a079cda1..9b03251569 100644 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/ModelBasedNameSuggester.kt +++ b/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/ModelBasedNameSuggester.kt @@ -5,6 +5,8 @@ import org.utbot.framework.plugin.api.* import org.utbot.framework.plugin.api.util.voidClassId import org.utbot.fuzzer.FuzzedMethodDescription import org.utbot.fuzzer.FuzzedValue +import org.utbot.summary.SummarySentenceConstants.FROM_TO_NAMES_COLON +import org.utbot.summary.SummarySentenceConstants.FROM_TO_NAMES_TRANSITION import org.utbot.summary.UtSummarySettings import org.utbot.summary.comment.classic.fuzzer.SimpleCommentForTestProducedByFuzzerBuilder import org.utbot.summary.comment.customtags.fuzzer.CommentWithCustomTagForTestProducedByFuzzerBuilder @@ -33,8 +35,8 @@ class ModelBasedNameSuggester( return sequenceOf( TestSuggestedInfo( - testName = createTestName(description, values, result), - displayName = createDisplayName(description, values, result), + testName = if (UtSummarySettings.GENERATE_NAMES) createTestName(description, values, result) else null, + displayName = if (UtSummarySettings.GENERATE_DISPLAY_NAMES) createDisplayName(description, values, result) else null, javaDoc = if (UtSummarySettings.GENERATE_COMMENTS) createJavaDoc(description, values, result) else null ) ) @@ -104,12 +106,17 @@ class ModelBasedNameSuggester( * Result example: * 1. **Full name**: `firstArg = 12, secondArg < 100.0, thirdArg = empty string -> throw IllegalArgumentException` * 2. **Name without appropriate information**: `arg_0 = 0 and others -> return 0` + * + * NOTE: The ```:``` symbol is used as a separator instead + * of ```->``` if the [UtSummarySettings.GENERATE_DISPLAYNAME_FROM_TO_STYLE] is false. */ private fun createDisplayName( description: FuzzedMethodDescription, values: List, result: UtExecutionResult? ): String { + val displayNameSeparator = if (UtSummarySettings.GENERATE_DISPLAYNAME_FROM_TO_STYLE) FROM_TO_NAMES_TRANSITION else FROM_TO_NAMES_COLON + val summaries = values.asSequence() .mapIndexed { index, value -> value.summary?.replace("%var%", description.parameterNameMap(index) ?: "arg_$index") @@ -127,13 +134,13 @@ class ModelBasedNameSuggester( val returnValue = when (result) { is UtExecutionSuccess -> result.model.let { m -> when { - m is UtPrimitiveModel && m.classId != voidClassId -> "-> return " + m.value - m is UtNullModel -> "-> return null" + m is UtPrimitiveModel && m.classId != voidClassId -> "$displayNameSeparator return " + m.value + m is UtNullModel -> "$displayNameSeparator return null" else -> null } } - is UtExplicitlyThrownException, is UtImplicitlyThrownException -> "-> throw ${(result as UtExecutionFailure).exception::class.java.simpleName}" + is UtExplicitlyThrownException, is UtImplicitlyThrownException -> "$displayNameSeparator throw ${(result as UtExecutionFailure).exception::class.java.simpleName}" else -> null } diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/TestSuggestedInfo.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/TestSuggestedInfo.kt index ba36379bcf..a9ce55d95d 100644 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/TestSuggestedInfo.kt +++ b/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/TestSuggestedInfo.kt @@ -6,7 +6,7 @@ import org.utbot.framework.plugin.api.DocStatement * Information that can be used to generate test meta-information, including name, display name and JavaDoc. */ class TestSuggestedInfo( - val testName: String, + val testName: String? = null, val displayName: String? = null, val javaDoc: List? = null ) \ No newline at end of file