From aff1fa6975b3181bd1cd92796302b628c88cb426 Mon Sep 17 00:00:00 2001 From: VictoriaG Date: Tue, 1 Oct 2024 13:17:42 +0200 Subject: [PATCH] #3745 add Unit Tests --- .../filter/mergefilter/MergeFilter.kt | 14 +++++++------ .../filter/mergefilter/MergeFilterTest.kt | 20 +++++++++++++++++++ 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/analysis/filter/MergeFilter/src/main/kotlin/de/maibornwolff/codecharta/filter/mergefilter/MergeFilter.kt b/analysis/filter/MergeFilter/src/main/kotlin/de/maibornwolff/codecharta/filter/mergefilter/MergeFilter.kt index a202101e4e..bbda84868f 100644 --- a/analysis/filter/MergeFilter/src/main/kotlin/de/maibornwolff/codecharta/filter/mergefilter/MergeFilter.kt +++ b/analysis/filter/MergeFilter/src/main/kotlin/de/maibornwolff/codecharta/filter/mergefilter/MergeFilter.kt @@ -108,14 +108,16 @@ class MergeFilter( } } - if (!hasTopLevelOverlap(rootChildrenNodes)) { - printOverlapError(rootChildrenNodes) + if (!mergeModules) { + if (!hasTopLevelOverlap(rootChildrenNodes)) { + printOverlapError(rootChildrenNodes) - val continueMerge = ParserDialog.askForceMerge() + val continueMerge = ParserDialog.askForceMerge() - if (!continueMerge) { - Logger.info { "Merge cancelled by the user." } - return null + if (!continueMerge) { + Logger.info { "Merge cancelled by the user." } + return null + } } } diff --git a/analysis/filter/MergeFilter/src/test/kotlin/de/maibornwolff/codecharta/filter/mergefilter/MergeFilterTest.kt b/analysis/filter/MergeFilter/src/test/kotlin/de/maibornwolff/codecharta/filter/mergefilter/MergeFilterTest.kt index f75687c0b3..883bb0ef9e 100644 --- a/analysis/filter/MergeFilter/src/test/kotlin/de/maibornwolff/codecharta/filter/mergefilter/MergeFilterTest.kt +++ b/analysis/filter/MergeFilter/src/test/kotlin/de/maibornwolff/codecharta/filter/mergefilter/MergeFilterTest.kt @@ -170,4 +170,24 @@ class MergeFilterTest { assertThat(errContent.toString()).contains("Input invalid files/folders for MergeFilter, stopping execution...") } + + @Test + fun `should log error when no cc json files found in the folder`() { + System.setErr(PrintStream(errContent)) + + CommandLine(MergeFilter()).execute("src/test/resources/noCCJsonFiles") + + System.setErr(originalErr) + assertThat(errContent.toString()).contains("Input invalid files/folders for MergeFilter, stopping execution...") + } + + @Test + fun `should log error when folder path is invalid`() { + System.setErr(PrintStream(errContent)) + + CommandLine(MergeFilter()).execute("invalid/path/to/folder") + + System.setErr(originalErr) + assertThat(errContent.toString()).contains("Input invalid files/folders for MergeFilter, stopping execution...") + } }