@@ -88,6 +88,7 @@ import org.utbot.framework.codegen.domain.ParametrizedTestSource
88
88
import org.utbot.framework.codegen.domain.ProjectType
89
89
import org.utbot.framework.codegen.domain.SpringModule.*
90
90
import org.utbot.framework.codegen.domain.StaticsMocking
91
+ import org.utbot.framework.codegen.domain.SymbolicEngineSource
91
92
import org.utbot.framework.codegen.domain.TestFramework
92
93
import org.utbot.framework.codegen.domain.TestNg
93
94
import org.utbot.framework.plugin.api.MockStrategyApi
@@ -216,6 +217,8 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
216
217
}
217
218
private val parametrizedTestSources = JCheckBox (" Parameterized tests" )
218
219
220
+ private val useExperimentalEngine = JCheckBox (" Experimental symbolic engine" )
221
+
219
222
private lateinit var panel: DialogPanel
220
223
221
224
@Suppress(" UNCHECKED_CAST" )
@@ -408,6 +411,13 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
408
411
cell(testFrameworks)
409
412
}
410
413
414
+ row {
415
+ cell(useExperimentalEngine)
416
+ contextHelp(" USVM symbolic engine will be used" )
417
+ }.enabledIf(ComboBoxPredicate (springConfig) {
418
+ model.projectType == ProjectType .PureJvm
419
+ })
420
+
411
421
if (model.projectType == ProjectType .Spring ) {
412
422
row(" Spring configuration:" ) {
413
423
cell(springConfig)
@@ -701,6 +711,8 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
701
711
model.mockStrategy = mockStrategies.item
702
712
model.parametrizedTestSource =
703
713
if (parametrizedTestSources.isSelected) ParametrizedTestSource .PARAMETRIZE else ParametrizedTestSource .DO_NOT_PARAMETRIZE
714
+ model.symbolicEngineSource =
715
+ if (useExperimentalEngine.isSelected) SymbolicEngineSource .Usvm else SymbolicEngineSource .UnitTestBot
704
716
705
717
model.mockFramework = MOCKITO
706
718
model.staticsMocking = if (staticsMocking.isSelected) MockitoStaticMocking else NoStaticMocking
@@ -895,6 +907,9 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
895
907
parametrizedTestSources.isSelected = (settings.parametrizedTestSource == ParametrizedTestSource .PARAMETRIZE
896
908
&& model.projectType == ProjectType .PureJvm )
897
909
910
+ useExperimentalEngine.isSelected = (settings.symbolicEngineSource == SymbolicEngineSource .Usvm
911
+ && model.projectType == ProjectType .PureJvm )
912
+
898
913
mockStrategies.isEnabled = true
899
914
staticsMocking.isEnabled = mockStrategies.item != MockStrategyApi .NO_MOCKS
900
915
@@ -1175,6 +1190,7 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
1175
1190
updateControlsEnabledStatus()
1176
1191
}
1177
1192
1193
+
1178
1194
springConfig.addActionListener { _ ->
1179
1195
if (isSpringConfigSelected()) {
1180
1196
if (isXmlSpringConfigUsed()) {
@@ -1203,6 +1219,18 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
1203
1219
updateControlsEnabledStatus()
1204
1220
}
1205
1221
1222
+ useExperimentalEngine.addActionListener {_ ->
1223
+ if (useExperimentalEngine.isSelected) {
1224
+ mockStrategies.isEnabled = false
1225
+ mockStrategies.item = MockStrategyApi .NO_MOCKS
1226
+
1227
+ staticsMocking.isEnabled = false
1228
+ staticsMocking.isSelected = false
1229
+ } else {
1230
+ updateControlsEnabledStatus()
1231
+ }
1232
+ }
1233
+
1206
1234
springTestType.addActionListener { event ->
1207
1235
val comboBox = event.source as ComboBox <* >
1208
1236
val item = comboBox.item as SpringTestType
@@ -1368,7 +1396,7 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
1368
1396
}
1369
1397
1370
1398
private fun updateControlsEnabledStatus () {
1371
- mockStrategies.isEnabled = true
1399
+ mockStrategies.isEnabled = ! useExperimentalEngine.isSelected
1372
1400
1373
1401
updateParametrizationEnabled()
1374
1402
updateStaticMockEnabled()
0 commit comments