Skip to content

Commit 670c7ce

Browse files
Summaries should be turned off for Kotlin related generations #1283
Refactoring
1 parent 8ea8f23 commit 670c7ce

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

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

+2
Original file line numberDiff line numberDiff line change
@@ -1296,6 +1296,8 @@ enum class CodegenLanguage(
12961296
override val allItems: List<CodegenLanguage> = values().toList()
12971297
}
12981298
}
1299+
//TODO #1279
1300+
fun CodegenLanguage?.isSummarizationCompatible() = this == CodegenLanguage.JAVA
12991301

13001302
// https://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html#commandlineargfile
13011303
fun isolateCommandLineArgumentsToArgumentFile(arguments: List<String>): String {

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/settings/Settings.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import org.utbot.framework.plugin.api.TreatOverflowAsError
3232
import org.utbot.intellij.plugin.models.GenerateTestsModel
3333
import java.util.concurrent.CompletableFuture
3434
import kotlin.reflect.KClass
35+
import org.utbot.framework.plugin.api.isSummarizationCompatible
3536

3637
@State(
3738
name = "UtBotSettings",
@@ -175,7 +176,7 @@ class Settings(val project: Project) : PersistentStateComponent<Settings.State>
175176

176177
override fun loadState(state: State) {
177178
this.state = state
178-
if (state.codegenLanguage != CodegenLanguage.JAVA) {
179+
if (!state.codegenLanguage.isSummarizationCompatible()) {
179180
this.state.enableSummariesGeneration = false
180181
}
181182
}

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/settings/SettingsWindow.kt

+4-3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import com.intellij.ui.layout.LayoutBuilder
1111
import com.intellij.ui.layout.PropertyBinding
1212
import com.intellij.ui.layout.labelTable
1313
import com.intellij.ui.layout.panel
14-
import com.intellij.ui.layout.selectedValueIs
14+
import com.intellij.ui.layout.selectedValueMatches
1515
import com.intellij.ui.layout.slider
1616
import com.intellij.ui.layout.withValueBinding
1717
import com.intellij.util.castSafelyTo
@@ -31,6 +31,7 @@ import org.utbot.framework.plugin.api.JavaDocCommentStyle
3131
import org.utbot.framework.plugin.api.TreatOverflowAsError
3232
import org.utbot.intellij.plugin.ui.components.CodeGenerationSettingItemRenderer
3333
import javax.swing.JSlider
34+
import org.utbot.framework.plugin.api.isSummarizationCompatible
3435

3536
class SettingsWindow(val project: Project) {
3637
private val settings = project.service<Settings>()
@@ -54,7 +55,7 @@ class SettingsWindow(val project: Project) {
5455
ContextHelpLabel.create("You can generate test methods in Java or Kotlin regardless of your source code language.")
5556
}.component
5657
codegenLanguageCombo.addActionListener {
57-
if (codegenLanguageCombo.selectedItem != CodegenLanguage.JAVA) {
58+
if (!codegenLanguageCombo.item.isSummarizationCompatible()) {
5859
enableSummarizationGenerationCheckBox.isSelected = false
5960
}
6061
}
@@ -142,7 +143,7 @@ class SettingsWindow(val project: Project) {
142143
.onIsModified {
143144
enableSummarizationGenerationCheckBox.isSelected xor settings.state.enableSummariesGeneration
144145
}
145-
.enableIf(codegenLanguageCombo.selectedValueIs(CodegenLanguage.JAVA))
146+
.enableIf(codegenLanguageCombo.selectedValueMatches(CodegenLanguage?::isSummarizationCompatible))
146147
.component
147148
}
148149
}

0 commit comments

Comments
 (0)