diff --git a/utbot-framework-api/src/main/kotlin/org/utbot/framework/UtSettings.kt b/utbot-framework-api/src/main/kotlin/org/utbot/framework/UtSettings.kt index 3ea0f7f31f..b83f71ac56 100644 --- a/utbot-framework-api/src/main/kotlin/org/utbot/framework/UtSettings.kt +++ b/utbot-framework-api/src/main/kotlin/org/utbot/framework/UtSettings.kt @@ -131,11 +131,6 @@ object UtSettings : AbstractSettings(logger, defaultKeyForSettingsPath, defaultS */ var testDisplayName by getBooleanProperty(true) - /** - * Generate summaries using plugin's custom JavaDoc tags. - */ - var useCustomJavaDocTags by getBooleanProperty(true) - /** * Enable the Summarization module to generate summaries for methods under test. * @@ -143,6 +138,36 @@ object UtSettings : AbstractSettings(logger, defaultKeyForSettingsPath, defaultS */ var enableSummariesGeneration by getBooleanProperty(true) + /** + * If True test comments will be generated. + */ + var enableJavaDocGeneration by getBooleanProperty(true) + + /** + * If True cluster comments will be generated. + */ + var enableClusterCommentsGeneration by getBooleanProperty(true) + + /** + * If True names for tests will be generated. + */ + var enableTestNamesGeneration by getBooleanProperty(true) + + /** + * If True display names for tests will be generated. + */ + var enableDisplayNameGeneration by getBooleanProperty(true) + + /** + * If True display name in from -> to style will be generated. + */ + var useDisplayNameArrowStyle by getBooleanProperty(true) + + /** + * Generate summaries using plugin's custom JavaDoc tags. + */ + var useCustomJavaDocTags by getBooleanProperty(true) + /** * This option regulates which [NullPointerException] check should be performed for nested methods. * @@ -173,7 +198,6 @@ object UtSettings : AbstractSettings(logger, defaultKeyForSettingsPath, defaultS */ var substituteStaticsWithSymbolicVariable by getBooleanProperty(true) - /** * Use concrete execution. */ diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/UtSummarySettings.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/DBSCANClusteringConstants.kt similarity index 51% rename from utbot-summary/src/main/kotlin/org/utbot/summary/UtSummarySettings.kt rename to utbot-summary/src/main/kotlin/org/utbot/summary/DBSCANClusteringConstants.kt index c2150d33bc..81929cf56f 100644 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/UtSummarySettings.kt +++ b/utbot-summary/src/main/kotlin/org/utbot/summary/DBSCANClusteringConstants.kt @@ -1,56 +1,25 @@ package org.utbot.summary -object UtSummarySettings { - /** - * If True test comments will be generated. - */ - var GENERATE_COMMENTS = true - - /** - * If True cluster comments will be generated. - */ - var GENERATE_CLUSTER_COMMENTS = true - - /** - * If True names for tests will be generated. - */ - var GENERATE_NAMES = true - - /** - * If True display names for tests will be generated. - */ - var GENERATE_DISPLAY_NAMES = true - - /** - * If True display name in from -> to style will be generated. - */ - var GENERATE_DISPLAYNAME_FROM_TO_STYLE = true - - /** - * If True mutation descriptions for tests will be generated - * TODO: implement - */ - var GENERATE_MUTATION_DESCRIPTIONS = true - +object DBSCANClusteringConstants { /** * Sets minimum number of successful execution * for applying the clustering algorithm. */ - const val MIN_NUMBER_OF_EXECUTIONS_FOR_CLUSTERING: Int = 4 + internal const val MIN_NUMBER_OF_EXECUTIONS_FOR_CLUSTERING: Int = 4 /** * DBSCAN hyperparameter. * * Sets minimum number of executions to form a cluster. */ - var MIN_EXEC_DBSCAN: Int = 2 + internal const val MIN_EXEC_DBSCAN: Int = 2 /** * DBSCAN hyperparameter. * * Sets radius of search for algorithm. */ - var RADIUS_DBSCAN: Float = 5.0f + internal const val RADIUS_DBSCAN: Float = 5.0f } object SummarySentenceConstants { 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 ab5ef3b37b..f9973346fb 100644 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/Summarization.kt +++ b/utbot-summary/src/main/kotlin/org/utbot/summary/Summarization.kt @@ -8,11 +8,6 @@ import org.utbot.framework.plugin.api.UtExecutionCluster import org.utbot.framework.plugin.api.UtMethodTestSet import org.utbot.instrumentation.instrumentation.instrumenter.Instrumenter import org.utbot.summary.SummarySentenceConstants.NEW_LINE -import org.utbot.summary.UtSummarySettings.GENERATE_CLUSTER_COMMENTS -import org.utbot.summary.UtSummarySettings.GENERATE_COMMENTS -import org.utbot.summary.UtSummarySettings.GENERATE_DISPLAYNAME_FROM_TO_STYLE -import org.utbot.summary.UtSummarySettings.GENERATE_DISPLAY_NAMES -import org.utbot.summary.UtSummarySettings.GENERATE_NAMES import org.utbot.summary.analysis.ExecutionStructureAnalysis import org.utbot.summary.ast.JimpleToASTMap import org.utbot.summary.ast.SourceCodeParser @@ -23,6 +18,12 @@ import java.io.File import java.nio.file.Path import java.nio.file.Paths import mu.KotlinLogging +import org.utbot.framework.UtSettings.enableClusterCommentsGeneration +import org.utbot.framework.UtSettings.enableJavaDocGeneration +import org.utbot.framework.UtSettings.useDisplayNameArrowStyle +import org.utbot.framework.UtSettings.enableDisplayNameGeneration +import org.utbot.framework.UtSettings.enableTestNamesGeneration +import org.utbot.framework.UtSettings.useCustomJavaDocTags import org.utbot.framework.plugin.api.util.jClass import org.utbot.fuzzer.FuzzedMethodDescription import org.utbot.fuzzer.FuzzedValue @@ -86,7 +87,7 @@ class Summarization(val sourceFile: File?, val invokeDescriptions: List 0) + return if (enableClusterCommentsGeneration && executionClusters.size > 0) executionClusters else listOf(UtExecutionCluster(UtClusterInfo(), testSet.executions)) @@ -110,9 +111,9 @@ class Summarization(val sourceFile: File?, val invokeDescriptions: List 1 // there is more than one successful execution && clusterTraceTags.traceTags.size > 1 // add if there is more than 1 execution ) { @@ -130,8 +131,8 @@ class Summarization(val sourceFile: File?, val invokeDescriptions: List) { /** Returns map: cluster identifier, List. */ fun dbscanClusterExecutions( methodExecutions: List, - minPts: Int = UtSummarySettings.MIN_EXEC_DBSCAN, - radius: Float = UtSummarySettings.RADIUS_DBSCAN + minPts: Int = DBSCANClusteringConstants.MIN_EXEC_DBSCAN, + radius: Float = DBSCANClusteringConstants.RADIUS_DBSCAN ): Map> { val executionPaths = methodExecutions.map { it.path.asIterable() }.toTypedArray() 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 9b03251569..d7390ca2ae 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 @@ -7,7 +7,6 @@ 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 import java.util.* @@ -35,9 +34,9 @@ class ModelBasedNameSuggester( return sequenceOf( TestSuggestedInfo( - 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 + testName = if (UtSettings.enableTestNamesGeneration) createTestName(description, values, result) else null, + displayName = if (UtSettings.enableDisplayNameGeneration) createDisplayName(description, values, result) else null, + javaDoc = if (UtSettings.enableJavaDocGeneration) createJavaDoc(description, values, result) else null ) ) } @@ -108,14 +107,14 @@ class ModelBasedNameSuggester( * 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. + * of ```->``` if the [UtSettings.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 displayNameSeparator = if (UtSettings.useDisplayNameArrowStyle) FROM_TO_NAMES_TRANSITION else FROM_TO_NAMES_COLON val summaries = values.asSequence() .mapIndexed { index, value -> @@ -183,5 +182,4 @@ class ModelBasedNameSuggester( .filter { it.isUpperCase() } .joinToString(separator = "") } - } \ No newline at end of file