From b4a244963d8991f6f51b7253d51e9907a3113d68 Mon Sep 17 00:00:00 2001 From: Arkadii Sapozhnikov <47223481+arksap2002@users.noreply.github.com> Date: Mon, 30 Sep 2024 18:35:49 +0200 Subject: [PATCH] Close tab with generated test suite if all test cases were deleted (#331) * check generatedTestsTabData.testCasePanelFactories.size * fix TopButtonsPanelBuilder.update --- .../generatedTests/TopButtonsPanelBuilder.kt | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/kotlin/org/jetbrains/research/testspark/display/generatedTests/TopButtonsPanelBuilder.kt b/src/main/kotlin/org/jetbrains/research/testspark/display/generatedTests/TopButtonsPanelBuilder.kt index c51ec0ebb..844a3f83f 100644 --- a/src/main/kotlin/org/jetbrains/research/testspark/display/generatedTests/TopButtonsPanelBuilder.kt +++ b/src/main/kotlin/org/jetbrains/research/testspark/display/generatedTests/TopButtonsPanelBuilder.kt @@ -40,13 +40,15 @@ class TopButtonsPanelBuilder { * Updates the labels. */ fun update(generatedTestsTabData: GeneratedTestsTabData) { - var numberOfPassedTests = 0 - for (testCasePanelFactory in generatedTestsTabData.testCasePanelFactories) { - if (testCasePanelFactory.isRemoved()) continue - val error = testCasePanelFactory.getError() - if ((error is String) && error.isEmpty()) { - numberOfPassedTests++ - } + val passedTestsCount = generatedTestsTabData.testCasePanelFactories + .filter { !it.isRemoved() } + .count { it.getError()?.isEmpty() == true } + + val removedTestsCount = generatedTestsTabData.testCasePanelFactories.count { it.isRemoved() } + + if (generatedTestsTabData.testCasePanelFactories.size == removedTestsCount) { + removeAllButton.doClick() + return } testsSelectedLabel.text = String.format( testsSelectedText, @@ -56,7 +58,7 @@ class TopButtonsPanelBuilder { testsPassedLabel.text = String.format( testsPassedText, - numberOfPassedTests, + passedTestsCount, generatedTestsTabData.testCaseNameToPanel.size, ) runAllButton.isEnabled = false