Skip to content

Commit 321ddd9

Browse files
Correct the conditions when parametrization is enabled (#1221)
* Correct the conditions when parametrization is enabled. * Correct descriptors for TestNg
1 parent 12ad92c commit 321ddd9

File tree

2 files changed

+23
-11
lines changed

2 files changed

+23
-11
lines changed

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/models/ExternalLibraryDescriptors.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ fun mockitoCoreLibraryDescriptor(versionInProject: String?) =
2424

2525
/**
2626
* TestNg requires JDK 11 since version 7.6.0
27-
* For projects with JDK 8 version 7.5.0 should be installed.
27+
* For projects with JDK 8 version 7.5 should be installed.
2828
* See https://groups.google.com/g/testng-users/c/BAFB1vk-kok?pli=1 for more details.
2929
*/
3030

3131
fun testNgNewLibraryDescriptor(versionInProject: String?) =
3232
ExternalLibraryDescriptor("org.testng", "testng", "7.6.0", null, versionInProject ?: "7.6.0")
3333

3434
fun testNgOldLibraryDescriptor() =
35-
ExternalLibraryDescriptor("org.testng", "testng", "7.5.0", "7.5.0", "7.5.0")
35+
ExternalLibraryDescriptor("org.testng", "testng", "7.5", "7.5", "7.5")

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/GenerateTestsDialogWindow.kt

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -658,7 +658,7 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
658658
}
659659

660660
updateTestFrameworksList(settings.parametrizedTestSource)
661-
updateParametrizationEnabled(currentFrameworkItem)
661+
updateParametrizationEnabled()
662662

663663
updateMockStrategyList()
664664

@@ -907,17 +907,24 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
907907
if (!staticsMocking.isEnabled) {
908908
staticsMocking.isSelected = false
909909
}
910+
911+
updateParametrizationEnabled()
910912
}
911913

912914
testFrameworks.addActionListener { event ->
913915
val comboBox = event.source as ComboBox<*>
914916
val item = comboBox.item as TestFramework
915917

916918
currentFrameworkItem = item
917-
updateParametrizationEnabled(currentFrameworkItem)
919+
920+
updateParametrizationEnabled()
921+
}
922+
923+
codegenLanguages.addActionListener { _ ->
924+
updateParametrizationEnabled()
918925
}
919926

920-
parametrizedTestSources.addActionListener { event ->
927+
parametrizedTestSources.addActionListener { _ ->
921928
val parametrizedTestSource = if (parametrizedTestSources.isSelected) {
922929
ParametrizedTestSource.PARAMETRIZE
923930
} else {
@@ -980,12 +987,17 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
980987
currentFrameworkItem = testFrameworks.item
981988
}
982989

983-
//We would like to disable parametrization options for JUnit4
984-
private fun updateParametrizationEnabled(testFramework: TestFramework) {
985-
when (testFramework) {
986-
Junit4 -> parametrizedTestSources.isEnabled = false
987-
Junit5,
988-
TestNg -> parametrizedTestSources.isEnabled = true
990+
private fun updateParametrizationEnabled() {
991+
val languageIsSupported = codegenLanguages.item == CodegenLanguage.JAVA
992+
val frameworkIsSupported = currentFrameworkItem == Junit5
993+
|| currentFrameworkItem == TestNg && findSdkVersion(model.srcModule).feature > minSupportedSdkVersion
994+
val mockStrategyIsSupported = mockStrategies.item == MockStrategyApi.NO_MOCKS
995+
996+
parametrizedTestSources.isEnabled =
997+
languageIsSupported && frameworkIsSupported && mockStrategyIsSupported
998+
999+
if (!parametrizedTestSources.isEnabled) {
1000+
parametrizedTestSources.isSelected = false
9891001
}
9901002
}
9911003

0 commit comments

Comments
 (0)