diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index e81e762eb5..138048a84c 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -195,8 +195,8 @@ jobs: - name: List Artifacts run: ls -R /home/runner/.m2/repository/ - konsist-scope-creation-integration-test: - name: Konsist Scope Creation Integration Test + konsist-path-tester-project-integration-test: + name: Konsist Path Tester Project Integration Test continue-on-error: true runs-on: ubuntu-latest strategy: @@ -220,5 +220,8 @@ jobs: -Pkonsist.ossrhUsername='${{secrets.OSSRH_USERNAME}}' \ -Pkonsist.ossrhPassword='${{secrets.OSSRH_PASSWORD}}' - - name : Konsist Scope Creation Integration Test - run: cd test/konsist-scope-creation/ && ./gradlew integrationTest + - name : Run Assemble + run: cd test/konsist-path-tester/ && ./gradlew assemble + + - name : Run Integration Test + run: cd test/konsist-path-tester/ && ./gradlew integrationTest diff --git a/lib/src/integrationTest/kotlin/com/lemonappdev/konsist/core/scope/KoScopeTest.kt b/lib/src/integrationTest/kotlin/com/lemonappdev/konsist/core/scope/KoScopeTest.kt index 93f05c6d88..5b4edb15ef 100644 --- a/lib/src/integrationTest/kotlin/com/lemonappdev/konsist/core/scope/KoScopeTest.kt +++ b/lib/src/integrationTest/kotlin/com/lemonappdev/konsist/core/scope/KoScopeTest.kt @@ -1,5 +1,5 @@ package com.lemonappdev.konsist.core.scope class KoScopeTest { - // Konsist Scope creation tests are implemented in the test\konsist-scope-creation project. + // Konsist Scope creation tests are implemented in the test\konsist-path-tester project. } diff --git a/misc/DeveloperReadme.md b/misc/DeveloperReadme.md index e1b32b4dae..0fbc44bc1f 100644 --- a/misc/DeveloperReadme.md +++ b/misc/DeveloperReadme.md @@ -22,7 +22,7 @@ ### Publish To Maven Repository -- `./gradlew publishToMavenLocal -Pkonsist.releaseTarget=local` publish to `~/.m2/repository` +- `./gradlew publishToMavenLocal -Pkonsist.releaseTarget=local` publish to local `~/.m2/repository` - `./gradlew publish -Pkonsist.releaseTarget=snapshot` publish to [snapshot repository](https://s01.oss.sonatype.org/content/repositories/snapshots/com/lemonappdev/konsist/) - `./gradlew publish -Pkonsist.releaseTarget=release` publish to diff --git a/test/konsist-scope-creation/.gitignore b/test/konsist-path-tester/.gitignore similarity index 100% rename from test/konsist-scope-creation/.gitignore rename to test/konsist-path-tester/.gitignore diff --git a/test/konsist-scope-creation/README.md b/test/konsist-path-tester/README.md similarity index 100% rename from test/konsist-scope-creation/README.md rename to test/konsist-path-tester/README.md diff --git a/test/konsist-scope-creation/app/build.gradle.kts b/test/konsist-path-tester/app/build.gradle.kts similarity index 100% rename from test/konsist-scope-creation/app/build.gradle.kts rename to test/konsist-path-tester/app/build.gradle.kts diff --git a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/ext/KoScopeExt.kt b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/helper/ext/KoScopeExt.kt similarity index 74% rename from test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/ext/KoScopeExt.kt rename to test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/helper/ext/KoScopeExt.kt index bfde56c84f..71caa2f614 100644 --- a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/ext/KoScopeExt.kt +++ b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/helper/ext/KoScopeExt.kt @@ -1,4 +1,4 @@ -package com.lemonappdev.konsist.ext +package com.lemonappdev.konsist.helper.ext import com.lemonappdev.konsist.api.KoScope diff --git a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/util/PathProvider.kt b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/helper/util/PathProvider.kt similarity index 94% rename from test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/util/PathProvider.kt rename to test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/helper/util/PathProvider.kt index c00f4e28ef..3270619481 100644 --- a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/util/PathProvider.kt +++ b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/helper/util/PathProvider.kt @@ -1,4 +1,4 @@ -package com.lemonappdev.konsist.util +package com.lemonappdev.konsist.helper.util import java.io.File diff --git a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForRootProjectPath.kt b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/path/KonsistRootProjectPathTest.kt similarity index 86% rename from test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForRootProjectPath.kt rename to test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/path/KonsistRootProjectPathTest.kt index d1fe2f70e1..cc9b6660da 100644 --- a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForRootProjectPath.kt +++ b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/path/KonsistRootProjectPathTest.kt @@ -1,11 +1,11 @@ -package com.lemonappdev.konsist +package com.lemonappdev.konsist.path import com.lemonappdev.konsist.api.Konsist import org.amshove.kluent.shouldBeEqualTo import org.junit.jupiter.api.Test import java.io.File -class KonsistTestForRootProjectPath { +class KonsistRootProjectPathTest { @Test fun `scopeFromProject`() { // given diff --git a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForOperator.kt b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/KonsistOperatorTest.kt similarity index 89% rename from test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForOperator.kt rename to test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/KonsistOperatorTest.kt index cd5a82574a..9b0d1d6dcb 100644 --- a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForOperator.kt +++ b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/KonsistOperatorTest.kt @@ -1,15 +1,14 @@ -package com.lemonappdev.konsist +package com.lemonappdev.konsist.scope import com.lemonappdev.konsist.api.Konsist -import com.lemonappdev.konsist.ext.mapToFilePaths -import com.lemonappdev.konsist.util.PathProvider.dataMainSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.dataTestSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.rootTestSourceSetDirectory +import com.lemonappdev.konsist.helper.ext.mapToFilePaths +import com.lemonappdev.konsist.helper.util.PathProvider.dataMainSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.dataTestSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.rootTestSourceSetDirectory import org.amshove.kluent.shouldBeEqualTo import org.junit.jupiter.api.Test -import java.io.File -class KonsistTestForOperator { +class KonsistOperatorTest { @Test fun `plus operator`() { // given @@ -46,7 +45,7 @@ class KonsistTestForOperator { // then sut.shouldBeEqualTo( listOf( - "$rootTestSourceSetDirectory/sample/RootClassTest.kt" + "$rootTestSourceSetDirectory/sample/RootClassTest.kt", ), ) } @@ -104,7 +103,7 @@ class KonsistTestForOperator { .mapToFilePaths() .shouldBeEqualTo( listOf( - "$rootTestSourceSetDirectory/sample/RootClassTest.kt" + "$rootTestSourceSetDirectory/sample/RootClassTest.kt", ), ) } diff --git a/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/KonsistSliceTest.kt b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/KonsistSliceTest.kt new file mode 100644 index 0000000000..46e5815f82 --- /dev/null +++ b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/KonsistSliceTest.kt @@ -0,0 +1,26 @@ +package com.lemonappdev.konsist.scope + +import com.lemonappdev.konsist.api.Konsist +import com.lemonappdev.konsist.helper.ext.mapToFilePaths +import com.lemonappdev.konsist.helper.util.PathProvider.rootTestSourceSetDirectory +import org.amshove.kluent.shouldBeEqualTo +import org.junit.jupiter.api.Test + +class KonsistSliceTest { + @Test + fun `slice-with-predicate-name`() { + // given + val sut = Konsist.scopeFromPackage("com.lemonappdev.sample", sourceSetName = "test") + + // then + val actual = sut.slice { it.name.startsWith("RootClass") } + + actual + .mapToFilePaths() + .shouldBeEqualTo( + listOf( + "$rootTestSourceSetDirectory/sample/RootClassTest.kt", + ), + ) + } +} diff --git a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForToString.kt b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/KonsistToStringTest.kt similarity index 77% rename from test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForToString.kt rename to test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/KonsistToStringTest.kt index ae9b229d49..6f8e050420 100644 --- a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForToString.kt +++ b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/KonsistToStringTest.kt @@ -1,11 +1,11 @@ -package com.lemonappdev.konsist +package com.lemonappdev.konsist.scope import com.lemonappdev.konsist.api.Konsist -import com.lemonappdev.konsist.util.PathProvider.appMainSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.appMainSourceSetDirectory import org.amshove.kluent.shouldBeEqualTo import org.junit.jupiter.api.Test -class KonsistTestForToString { +class KonsistToStringTest { @Test fun `toString method`() { // given diff --git a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromDirectory.kt b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromDirectoryTest.kt similarity index 86% rename from test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromDirectory.kt rename to test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromDirectoryTest.kt index 213d3e823d..a173fe4d9d 100644 --- a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromDirectory.kt +++ b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromDirectoryTest.kt @@ -1,14 +1,14 @@ -package com.lemonappdev.konsist +package com.lemonappdev.konsist.scope.from import com.lemonappdev.konsist.api.Konsist -import com.lemonappdev.konsist.ext.mapToFilePaths -import com.lemonappdev.konsist.util.PathProvider.appMainSourceSetDirectory +import com.lemonappdev.konsist.helper.ext.mapToFilePaths +import com.lemonappdev.konsist.helper.util.PathProvider.appMainSourceSetDirectory import org.amshove.kluent.shouldBeEqualTo import org.amshove.kluent.shouldThrow import org.amshove.kluent.withMessage import org.junit.jupiter.api.Test -class KonsistTestForScopeFromDirectory { +class KonsistScopeFromDirectoryTest { @Test fun `scopeFromDirectory`() { // given diff --git a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromFile.kt b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromFileTest.kt similarity index 81% rename from test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromFile.kt rename to test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromFileTest.kt index 5371d35e2b..559d62735a 100644 --- a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromFile.kt +++ b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromFileTest.kt @@ -1,14 +1,14 @@ -package com.lemonappdev.konsist +package com.lemonappdev.konsist.scope.from import com.lemonappdev.konsist.api.Konsist -import com.lemonappdev.konsist.ext.mapToFilePaths -import com.lemonappdev.konsist.util.PathProvider.appMainSourceSetDirectory +import com.lemonappdev.konsist.helper.ext.mapToFilePaths +import com.lemonappdev.konsist.helper.util.PathProvider.appMainSourceSetDirectory import org.amshove.kluent.shouldBeEqualTo import org.amshove.kluent.shouldThrow import org.amshove.kluent.withMessage import org.junit.jupiter.api.Test -class KonsistTestForScopeFromFile { +class KonsistScopeFromFileTest { @Test fun `scopeFromFile`() { // given @@ -25,10 +25,10 @@ class KonsistTestForScopeFromFile { @Test fun `scopeFromFile throws exception if path does not exist`() { // given - val func = { Konsist.scopeFromFile("$appMainSourceSetDirectory/NonExisting.kt") } + val func = { Konsist.scopeFromFile("$appMainSourceSetDirectory/NonExistingTest.kt") } // then - val message = "File does not exist: $appMainSourceSetDirectory/NonExisting.kt" + val message = "File does not exist: $appMainSourceSetDirectory/NonExistingTest.kt" func shouldThrow IllegalArgumentException::class withMessage message } diff --git a/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromModuleTest.kt b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromModuleTest.kt new file mode 100644 index 0000000000..05d9878817 --- /dev/null +++ b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromModuleTest.kt @@ -0,0 +1,102 @@ +package com.lemonappdev.konsist.scope.from + +import com.lemonappdev.konsist.api.Konsist +import com.lemonappdev.konsist.helper.ext.mapToFilePaths +import com.lemonappdev.konsist.helper.util.PathProvider.appIntegrationTestSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.appMainSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.dataMainSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.dataTestSourceSetDirectory +import org.amshove.kluent.shouldBeEqualTo +import org.junit.jupiter.api.Test + +class KonsistScopeFromModuleTest { + @Test + fun `scopeFromModule for app module`() { + // given + val sut = Konsist + .scopeFromModule("app") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$appIntegrationTestSourceSetDirectory/konsist/helper/ext/KoScopeExt.kt", + "$appIntegrationTestSourceSetDirectory/konsist/helper/util/PathProvider.kt", + "$appIntegrationTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistOperatorTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistSliceTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistToStringTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromModuleTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromPackageTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProductionTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromSourceSetTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", + "$appMainSourceSetDirectory/sample/AppClass.kt", + "$appMainSourceSetDirectory/sample/data/AppDataClass.kt", + ), + ) + } + + @Test + fun `scopeFromModule for data module`() { + // given + val sut = Konsist + .scopeFromModule("data") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$dataMainSourceSetDirectory/sample/LibClass.kt", + "$dataMainSourceSetDirectory/sample/data/LibDataClass.kt", + "$dataTestSourceSetDirectory/sample/LibClassTest.kt", + "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", + ), + ) + } + + @Test + fun `scopeFromModule for app and data modules`() { + // given + val sut = Konsist + .scopeFromModule("app", "data") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$appIntegrationTestSourceSetDirectory/konsist/helper/ext/KoScopeExt.kt", + "$appIntegrationTestSourceSetDirectory/konsist/helper/util/PathProvider.kt", + "$appIntegrationTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistOperatorTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistSliceTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistToStringTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromModuleTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromPackageTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProductionTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromSourceSetTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", + "$appMainSourceSetDirectory/sample/AppClass.kt", + "$appMainSourceSetDirectory/sample/data/AppDataClass.kt", + "$dataMainSourceSetDirectory/sample/LibClass.kt", + "$dataMainSourceSetDirectory/sample/data/LibDataClass.kt", + "$dataTestSourceSetDirectory/sample/LibClassTest.kt", + "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", + ), + ) + } +} diff --git a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromPackage.kt b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromPackageTest.kt similarity index 95% rename from test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromPackage.kt rename to test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromPackageTest.kt index 5fe099c722..7347481774 100644 --- a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromPackage.kt +++ b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromPackageTest.kt @@ -1,17 +1,17 @@ -package com.lemonappdev.konsist +package com.lemonappdev.konsist.scope.from import com.lemonappdev.konsist.api.Konsist -import com.lemonappdev.konsist.ext.mapToFilePaths -import com.lemonappdev.konsist.util.PathProvider.appIntegrationTestSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.appMainSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.dataMainSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.dataTestSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.rootMainSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.rootTestSourceSetDirectory +import com.lemonappdev.konsist.helper.ext.mapToFilePaths +import com.lemonappdev.konsist.helper.util.PathProvider.appIntegrationTestSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.appMainSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.dataMainSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.dataTestSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.rootMainSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.rootTestSourceSetDirectory import org.amshove.kluent.shouldBeEqualTo import org.junit.jupiter.api.Test -class KonsistTestForScopeFromPackage { +class KonsistScopeFromPackageTest { @Test fun `scopeFromPackage for com_lemonappdev_sample package`() { // given diff --git a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromProduction.kt b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromProductionTest.kt similarity index 93% rename from test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromProduction.kt rename to test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromProductionTest.kt index 601d639209..3028467e8e 100644 --- a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromProduction.kt +++ b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromProductionTest.kt @@ -1,16 +1,16 @@ -package com.lemonappdev.konsist +package com.lemonappdev.konsist.scope.from import com.lemonappdev.konsist.api.Konsist -import com.lemonappdev.konsist.ext.mapToFilePaths -import com.lemonappdev.konsist.util.PathProvider.appMainSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.dataMainSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.rootMainSourceSetDirectory +import com.lemonappdev.konsist.helper.ext.mapToFilePaths +import com.lemonappdev.konsist.helper.util.PathProvider.appMainSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.dataMainSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.rootMainSourceSetDirectory import org.amshove.kluent.shouldBeEqualTo import org.amshove.kluent.shouldThrow import org.amshove.kluent.withMessage import org.junit.jupiter.api.Test -class KonsistTestForScopeFromProduction { +class KonsistScopeFromProductionTest { @Test fun `scopeFromProduction`() { // given diff --git a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromProjectDirectory.kt b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromProjectDirectoryTest.kt similarity index 86% rename from test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromProjectDirectory.kt rename to test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromProjectDirectoryTest.kt index 19eaff53c6..308bb60a5b 100644 --- a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromProjectDirectory.kt +++ b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromProjectDirectoryTest.kt @@ -1,14 +1,14 @@ -package com.lemonappdev.konsist +package com.lemonappdev.konsist.scope.from import com.lemonappdev.konsist.api.Konsist -import com.lemonappdev.konsist.ext.mapToFilePaths -import com.lemonappdev.konsist.util.PathProvider.appMainSourceSetDirectory +import com.lemonappdev.konsist.helper.ext.mapToFilePaths +import com.lemonappdev.konsist.helper.util.PathProvider.appMainSourceSetDirectory import org.amshove.kluent.shouldBeEqualTo import org.amshove.kluent.shouldThrow import org.amshove.kluent.withMessage import org.junit.jupiter.api.Test -class KonsistTestForScopeFromProjectDirectory { +class KonsistScopeFromProjectDirectoryTest { @Test fun `scopeFromProjectDirectory`() { // given diff --git a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromProjectFile.kt b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromProjectFileTest.kt similarity index 81% rename from test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromProjectFile.kt rename to test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromProjectFileTest.kt index 12e660d349..b03a2d2e1a 100644 --- a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromProjectFile.kt +++ b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromProjectFileTest.kt @@ -1,14 +1,14 @@ -package com.lemonappdev.konsist +package com.lemonappdev.konsist.scope.from import com.lemonappdev.konsist.api.Konsist -import com.lemonappdev.konsist.ext.mapToFilePaths -import com.lemonappdev.konsist.util.PathProvider.appMainSourceSetDirectory +import com.lemonappdev.konsist.helper.ext.mapToFilePaths +import com.lemonappdev.konsist.helper.util.PathProvider.appMainSourceSetDirectory import org.amshove.kluent.shouldBeEqualTo import org.amshove.kluent.shouldThrow import org.amshove.kluent.withMessage import org.junit.jupiter.api.Test -class KonsistTestForScopeFromProjectFile { +class KonsistScopeFromProjectFileTest { @Test fun `scopeFromProjectFile`() { // given @@ -25,10 +25,10 @@ class KonsistTestForScopeFromProjectFile { @Test fun `scopeFromProjectFile throws exception if path does not exist`() { // given - val func = { Konsist.scopeFromProjectFile("app/src/main/kotlin/com/lemonappdev/NonExisting.kt") } + val func = { Konsist.scopeFromProjectFile("app/src/main/kotlin/com/lemonappdev/NonExistingTest.kt") } // then - val message = "File does not exist: $appMainSourceSetDirectory/NonExisting.kt" + val message = "File does not exist: $appMainSourceSetDirectory/NonExistingTest.kt" func shouldThrow IllegalArgumentException::class withMessage message } diff --git a/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromProjectTest.kt b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromProjectTest.kt new file mode 100644 index 0000000000..88e8f2ab33 --- /dev/null +++ b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromProjectTest.kt @@ -0,0 +1,293 @@ +package com.lemonappdev.konsist.scope.from + +import com.lemonappdev.konsist.api.Konsist +import com.lemonappdev.konsist.helper.ext.mapToFilePaths +import com.lemonappdev.konsist.helper.util.PathProvider.appIntegrationTestSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.appMainSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.dataMainSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.dataTestSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.projectRootDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.rootMainSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.rootTestSourceSetDirectory +import org.amshove.kluent.shouldBeEqualTo +import org.junit.jupiter.api.Test + +class KonsistScopeFromProjectTest { + @Test + fun `scopeFromProject ignoreBuildConfig true`() { + // given + val sut = Konsist + .scopeFromProject(ignoreBuildConfig = true) + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$appIntegrationTestSourceSetDirectory/konsist/helper/ext/KoScopeExt.kt", + "$appIntegrationTestSourceSetDirectory/konsist/helper/util/PathProvider.kt", + "$appIntegrationTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistOperatorTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistSliceTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistToStringTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromModuleTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromPackageTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProductionTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromSourceSetTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", + "$appMainSourceSetDirectory/sample/AppClass.kt", + "$appMainSourceSetDirectory/sample/data/AppDataClass.kt", + "$dataMainSourceSetDirectory/sample/LibClass.kt", + "$dataMainSourceSetDirectory/sample/data/LibDataClass.kt", + "$dataTestSourceSetDirectory/sample/LibClassTest.kt", + "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", + "$rootMainSourceSetDirectory/sample/RootClass.kt", + "$rootMainSourceSetDirectory/sample/data/RootDataClass.kt", + "$rootTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt", + "$rootTestSourceSetDirectory/sample/RootClassTest.kt", + "$rootTestSourceSetDirectory/sample/data/RootDataClassTest.kt", + ), + ) + } + + @Test + fun `scopeFromProject ignoreBuildConfig false`() { + // given + val sut = Konsist + .scopeFromProject(ignoreBuildConfig = false) + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$appIntegrationTestSourceSetDirectory/konsist/helper/ext/KoScopeExt.kt", + "$appIntegrationTestSourceSetDirectory/konsist/helper/util/PathProvider.kt", + "$appIntegrationTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistOperatorTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistSliceTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistToStringTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromModuleTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromPackageTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProductionTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromSourceSetTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", + "$appMainSourceSetDirectory/sample/AppClass.kt", + "$appMainSourceSetDirectory/sample/data/AppDataClass.kt", + "$projectRootDirectory/buildSrc/RootBuildScrKotlinClass.kt", + "$dataMainSourceSetDirectory/sample/LibClass.kt", + "$dataMainSourceSetDirectory/sample/data/LibDataClass.kt", + "$dataTestSourceSetDirectory/sample/LibClassTest.kt", + "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", + "$rootMainSourceSetDirectory/sample/RootClass.kt", + "$rootMainSourceSetDirectory/sample/data/RootDataClass.kt", + "$rootTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt", + "$rootTestSourceSetDirectory/sample/RootClassTest.kt", + "$rootTestSourceSetDirectory/sample/data/RootDataClassTest.kt", + ), + ) + } + + @Test + fun `scopeFromProject for data module`() { + // given + val sut = Konsist + .scopeFromProject(moduleName = "data") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$dataMainSourceSetDirectory/sample/LibClass.kt", + "$dataMainSourceSetDirectory/sample/data/LibDataClass.kt", + "$dataTestSourceSetDirectory/sample/LibClassTest.kt", + "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", + ), + ) + } + + @Test + fun `scopeFromProject for main source set`() { + // given + val sut = Konsist + .scopeFromProject(sourceSetName = "main") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$appMainSourceSetDirectory/sample/AppClass.kt", + "$appMainSourceSetDirectory/sample/data/AppDataClass.kt", + "$dataMainSourceSetDirectory/sample/LibClass.kt", + "$dataMainSourceSetDirectory/sample/data/LibDataClass.kt", + "$rootMainSourceSetDirectory/sample/RootClass.kt", + "$rootMainSourceSetDirectory/sample/data/RootDataClass.kt", + ), + ) + } + + @Test + fun `scopeFromProject for integrationTest source set`() { + // given + val sut = Konsist + .scopeFromProject(sourceSetName = "integrationTest") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$appIntegrationTestSourceSetDirectory/konsist/helper/ext/KoScopeExt.kt", + "$appIntegrationTestSourceSetDirectory/konsist/helper/util/PathProvider.kt", + "$appIntegrationTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistOperatorTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistSliceTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistToStringTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromModuleTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromPackageTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProductionTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromSourceSetTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", + ), + ) + } + + @Test + fun `scopeFromProject for test source set`() { + // given + val sut = Konsist + .scopeFromProject(sourceSetName = "test") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$dataTestSourceSetDirectory/sample/LibClassTest.kt", + "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", + "$rootTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt", + "$rootTestSourceSetDirectory/sample/RootClassTest.kt", + "$rootTestSourceSetDirectory/sample/data/RootDataClassTest.kt", + ), + ) + } + + @Test + fun `scopeFromProject for app module and main source set`() { + // given + val sut = Konsist + .scopeFromProject(moduleName = "app", sourceSetName = "main") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$appMainSourceSetDirectory/sample/AppClass.kt", + "$appMainSourceSetDirectory/sample/data/AppDataClass.kt", + ), + ) + } + + @Test + fun `scopeFromProject for app module and integrationTest source set`() { + // given + val sut = Konsist + .scopeFromProject(moduleName = "app", sourceSetName = "integrationTest") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$appIntegrationTestSourceSetDirectory/konsist/helper/ext/KoScopeExt.kt", + "$appIntegrationTestSourceSetDirectory/konsist/helper/util/PathProvider.kt", + "$appIntegrationTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistOperatorTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistSliceTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistToStringTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromModuleTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromPackageTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProductionTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromSourceSetTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", + ), + ) + } + + @Test + fun `scopeFromProject for app module and test source set`() { + // given + val sut = Konsist + .scopeFromProject(moduleName = "app", sourceSetName = "test") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo(emptyList()) + } + + @Test + fun `scopeFromProject for data module and main source set`() { + // given + val sut = Konsist + .scopeFromProject(moduleName = "data", sourceSetName = "main") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$dataMainSourceSetDirectory/sample/LibClass.kt", + "$dataMainSourceSetDirectory/sample/data/LibDataClass.kt", + ), + ) + } + + @Test + fun `scopeFromProject for data module and integrationTest source set`() { + // given + val sut = Konsist + .scopeFromProject(moduleName = "data", sourceSetName = "integrationTest") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo(emptyList()) + } + + @Test + fun `scopeFromProject for data module and test source set`() { + // given + val sut = Konsist + .scopeFromProject(moduleName = "data", sourceSetName = "test") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$dataTestSourceSetDirectory/sample/LibClassTest.kt", + "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", + ), + ) + } +} diff --git a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromSourceSet.kt b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromSourceSetTest.kt similarity index 53% rename from test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromSourceSet.kt rename to test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromSourceSetTest.kt index 7ec02f6b30..625cecbfaf 100644 --- a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromSourceSet.kt +++ b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromSourceSetTest.kt @@ -1,17 +1,17 @@ -package com.lemonappdev.konsist +package com.lemonappdev.konsist.scope.from import com.lemonappdev.konsist.api.Konsist -import com.lemonappdev.konsist.ext.mapToFilePaths -import com.lemonappdev.konsist.util.PathProvider.appIntegrationTestSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.appMainSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.dataMainSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.dataTestSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.rootMainSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.rootTestSourceSetDirectory +import com.lemonappdev.konsist.helper.ext.mapToFilePaths +import com.lemonappdev.konsist.helper.util.PathProvider.appIntegrationTestSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.appMainSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.dataMainSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.dataTestSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.rootMainSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.rootTestSourceSetDirectory import org.amshove.kluent.shouldBeEqualTo import org.junit.jupiter.api.Test -class KonsistTestForScopeFromSourceSet { +class KonsistScopeFromSourceSetTest { @Test fun `scopeFromSourceSet for main source set`() { // given @@ -42,22 +42,22 @@ class KonsistTestForScopeFromSourceSet { // then sut.shouldBeEqualTo( listOf( - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForOperator.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForRootProjectPath.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromModule.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromPackage.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProduction.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProject.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromSourceSet.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromTest.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForSlice.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForToString.kt", - "$appIntegrationTestSourceSetDirectory/konsist/ext/KoScopeExt.kt", - "$appIntegrationTestSourceSetDirectory/konsist/util/PathProvider.kt", + "$appIntegrationTestSourceSetDirectory/konsist/helper/ext/KoScopeExt.kt", + "$appIntegrationTestSourceSetDirectory/konsist/helper/util/PathProvider.kt", + "$appIntegrationTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistOperatorTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistSliceTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistToStringTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromModuleTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromPackageTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProductionTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromSourceSetTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromTest.kt", "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", ), @@ -76,7 +76,7 @@ class KonsistTestForScopeFromSourceSet { listOf( "$dataTestSourceSetDirectory/sample/LibClassTest.kt", "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", - "$rootTestSourceSetDirectory/konsist/KonsistTestForRootProjectPath.kt", + "$rootTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt", "$rootTestSourceSetDirectory/sample/RootClassTest.kt", "$rootTestSourceSetDirectory/sample/data/RootDataClassTest.kt", ), @@ -101,7 +101,7 @@ class KonsistTestForScopeFromSourceSet { "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", "$rootMainSourceSetDirectory/sample/RootClass.kt", "$rootMainSourceSetDirectory/sample/data/RootDataClass.kt", - "$rootTestSourceSetDirectory/konsist/KonsistTestForRootProjectPath.kt", + "$rootTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt", "$rootTestSourceSetDirectory/sample/RootClassTest.kt", "$rootTestSourceSetDirectory/sample/data/RootDataClassTest.kt", ), diff --git a/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromTest.kt b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromTest.kt new file mode 100644 index 0000000000..44041732f8 --- /dev/null +++ b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/konsist/scope/from/KonsistScopeFromTest.kt @@ -0,0 +1,249 @@ +package com.lemonappdev.konsist.scope.from + +import com.lemonappdev.konsist.api.Konsist +import com.lemonappdev.konsist.helper.ext.mapToFilePaths +import com.lemonappdev.konsist.helper.util.PathProvider.appIntegrationTestSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.dataTestSourceSetDirectory +import com.lemonappdev.konsist.helper.util.PathProvider.rootTestSourceSetDirectory +import org.amshove.kluent.shouldBeEqualTo +import org.amshove.kluent.shouldThrow +import org.amshove.kluent.withMessage +import org.junit.jupiter.api.Test + +class KonsistScopeFromTest { + @Test + fun `scopeFromTest`() { + // given + val sut = Konsist + .scopeFromTest() + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$appIntegrationTestSourceSetDirectory/konsist/helper/ext/KoScopeExt.kt", + "$appIntegrationTestSourceSetDirectory/konsist/helper/util/PathProvider.kt", + "$appIntegrationTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistOperatorTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistSliceTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistToStringTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromModuleTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromPackageTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProductionTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromSourceSetTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", + "$dataTestSourceSetDirectory/sample/LibClassTest.kt", + "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", + "$rootTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt", + "$rootTestSourceSetDirectory/sample/RootClassTest.kt", + "$rootTestSourceSetDirectory/sample/data/RootDataClassTest.kt", + ), + ) + } + + @Test + fun `scopeFromTest, main source set`() { + // given + val func = { Konsist.scopeFromTest(sourceSetName = "main") } + + // then + val message = "Source set 'main' is a production source set, but it should be test source set." + func shouldThrow IllegalArgumentException::class withMessage message + } + + @Test + fun `scopeFromTest, integrationTest source set`() { + // given + val sut = Konsist + .scopeFromTest(sourceSetName = "integrationTest") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$appIntegrationTestSourceSetDirectory/konsist/helper/ext/KoScopeExt.kt", + "$appIntegrationTestSourceSetDirectory/konsist/helper/util/PathProvider.kt", + "$appIntegrationTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistOperatorTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistSliceTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistToStringTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromModuleTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromPackageTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProductionTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromSourceSetTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", + ), + ) + } + + @Test + fun `scopeFromTest, test source set`() { + // given + val sut = Konsist + .scopeFromTest(sourceSetName = "test") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$dataTestSourceSetDirectory/sample/LibClassTest.kt", + "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", + "$rootTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt", + "$rootTestSourceSetDirectory/sample/RootClassTest.kt", + "$rootTestSourceSetDirectory/sample/data/RootDataClassTest.kt", + ), + ) + } + + @Test + fun `scopeFromTest, app module`() { + // given + val sut = Konsist + .scopeFromTest(moduleName = "app") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$appIntegrationTestSourceSetDirectory/konsist/helper/ext/KoScopeExt.kt", + "$appIntegrationTestSourceSetDirectory/konsist/helper/util/PathProvider.kt", + "$appIntegrationTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistOperatorTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistSliceTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistToStringTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromModuleTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromPackageTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProductionTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromSourceSetTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", + ), + ) + } + + @Test + fun `scopeFromTest, app module, main source set`() { + // given + val func = { Konsist.scopeFromTest(moduleName = "app", sourceSetName = "main") } + + // then + val message = "Source set 'main' is a production source set, but it should be test source set." + func shouldThrow IllegalArgumentException::class withMessage message + } + + @Test + fun `scopeFromTest, app module, integrationTest source set`() { + // given + val sut = Konsist + .scopeFromTest(moduleName = "app", sourceSetName = "integrationTest") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$appIntegrationTestSourceSetDirectory/konsist/helper/ext/KoScopeExt.kt", + "$appIntegrationTestSourceSetDirectory/konsist/helper/util/PathProvider.kt", + "$appIntegrationTestSourceSetDirectory/konsist/path/KonsistRootProjectPathTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistOperatorTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistSliceTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/KonsistToStringTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromModuleTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromPackageTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProductionTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectDirectoryTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectFileTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromProjectTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromSourceSetTest.kt", + "$appIntegrationTestSourceSetDirectory/konsist/scope/from/KonsistScopeFromTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", + "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", + ), + ) + } + + @Test + fun `scopeFromTest, app module, test source set`() { + // given + val sut = Konsist + .scopeFromTest(moduleName = "app", sourceSetName = "test") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo(emptyList()) + } + + @Test + fun `scopeFromTest, data module`() { + // given + val sut = Konsist + .scopeFromTest(moduleName = "data") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$dataTestSourceSetDirectory/sample/LibClassTest.kt", + "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", + ), + ) + } + + @Test + fun `scopeFromTest, data module, main source set`() { + // given + val func = { Konsist.scopeFromTest(moduleName = "data", sourceSetName = "main") } + + // then + val message = "Source set 'main' is a production source set, but it should be test source set." + func shouldThrow IllegalArgumentException::class withMessage message + } + + @Test + fun `scopeFromTest, data module, integrationTest source set`() { + // given + val sut = Konsist + .scopeFromTest(moduleName = "data", sourceSetName = "integrationTest") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo(emptyList()) + } + + @Test + fun `scopeFromTest, data module, test source set`() { + // given + val sut = Konsist + .scopeFromTest(moduleName = "data", sourceSetName = "test") + .mapToFilePaths() + + // then + sut.shouldBeEqualTo( + listOf( + "$dataTestSourceSetDirectory/sample/LibClassTest.kt", + "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", + ), + ) + } +} diff --git a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/sample/AppClassTest.kt b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/sample/AppClassTest.kt similarity index 100% rename from test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/sample/AppClassTest.kt rename to test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/sample/AppClassTest.kt diff --git a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/sample/data/AppDataClassTest.kt b/test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/sample/data/AppDataClassTest.kt similarity index 100% rename from test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/sample/data/AppDataClassTest.kt rename to test/konsist-path-tester/app/src/integrationTest/kotlin/com/lemonappdev/sample/data/AppDataClassTest.kt diff --git a/test/konsist-scope-creation/app/src/main/kotlin/com/lemonappdev/sample/AppClass.kt b/test/konsist-path-tester/app/src/main/kotlin/com/lemonappdev/sample/AppClass.kt similarity index 100% rename from test/konsist-scope-creation/app/src/main/kotlin/com/lemonappdev/sample/AppClass.kt rename to test/konsist-path-tester/app/src/main/kotlin/com/lemonappdev/sample/AppClass.kt diff --git a/test/konsist-scope-creation/app/src/main/kotlin/com/lemonappdev/sample/data/AppDataClass.kt b/test/konsist-path-tester/app/src/main/kotlin/com/lemonappdev/sample/data/AppDataClass.kt similarity index 100% rename from test/konsist-scope-creation/app/src/main/kotlin/com/lemonappdev/sample/data/AppDataClass.kt rename to test/konsist-path-tester/app/src/main/kotlin/com/lemonappdev/sample/data/AppDataClass.kt diff --git a/test/konsist-scope-creation/app/src/main/resources/application.properties b/test/konsist-path-tester/app/src/main/resources/application.properties similarity index 100% rename from test/konsist-scope-creation/app/src/main/resources/application.properties rename to test/konsist-path-tester/app/src/main/resources/application.properties diff --git a/test/konsist-scope-creation/build.gradle.kts b/test/konsist-path-tester/build.gradle.kts similarity index 100% rename from test/konsist-scope-creation/build.gradle.kts rename to test/konsist-path-tester/build.gradle.kts diff --git a/test/konsist-scope-creation/buildSrc/RootBuildScrKotlinClass.kt b/test/konsist-path-tester/buildSrc/RootBuildScrKotlinClass.kt similarity index 100% rename from test/konsist-scope-creation/buildSrc/RootBuildScrKotlinClass.kt rename to test/konsist-path-tester/buildSrc/RootBuildScrKotlinClass.kt diff --git a/test/konsist-scope-creation/data/build.gradle.kts b/test/konsist-path-tester/data/build.gradle.kts similarity index 100% rename from test/konsist-scope-creation/data/build.gradle.kts rename to test/konsist-path-tester/data/build.gradle.kts diff --git a/test/konsist-scope-creation/data/src/main/kotlin/com/lemonappdev/sample/LibClass.kt b/test/konsist-path-tester/data/src/main/kotlin/com/lemonappdev/sample/LibClass.kt similarity index 71% rename from test/konsist-scope-creation/data/src/main/kotlin/com/lemonappdev/sample/LibClass.kt rename to test/konsist-path-tester/data/src/main/kotlin/com/lemonappdev/sample/LibClass.kt index 440c9f8249..8cc1346e5b 100644 --- a/test/konsist-scope-creation/data/src/main/kotlin/com/lemonappdev/sample/LibClass.kt +++ b/test/konsist-path-tester/data/src/main/kotlin/com/lemonappdev/sample/LibClass.kt @@ -1,5 +1,3 @@ package com.lemonappdev.sample -import com.sample - class LibClass diff --git a/test/konsist-scope-creation/data/src/main/kotlin/com/lemonappdev/sample/data/LibDataClass.kt b/test/konsist-path-tester/data/src/main/kotlin/com/lemonappdev/sample/data/LibDataClass.kt similarity index 100% rename from test/konsist-scope-creation/data/src/main/kotlin/com/lemonappdev/sample/data/LibDataClass.kt rename to test/konsist-path-tester/data/src/main/kotlin/com/lemonappdev/sample/data/LibDataClass.kt diff --git a/test/konsist-scope-creation/data/src/main/resources/application.properties b/test/konsist-path-tester/data/src/main/resources/application.properties similarity index 100% rename from test/konsist-scope-creation/data/src/main/resources/application.properties rename to test/konsist-path-tester/data/src/main/resources/application.properties diff --git a/test/konsist-scope-creation/data/src/test/kotlin/com/lemonappdev/sample/LibClassTest.kt b/test/konsist-path-tester/data/src/test/kotlin/com/lemonappdev/sample/LibClassTest.kt similarity index 100% rename from test/konsist-scope-creation/data/src/test/kotlin/com/lemonappdev/sample/LibClassTest.kt rename to test/konsist-path-tester/data/src/test/kotlin/com/lemonappdev/sample/LibClassTest.kt diff --git a/test/konsist-scope-creation/data/src/test/kotlin/com/lemonappdev/sample/data/LibDataClassTest.kt b/test/konsist-path-tester/data/src/test/kotlin/com/lemonappdev/sample/data/LibDataClassTest.kt similarity index 100% rename from test/konsist-scope-creation/data/src/test/kotlin/com/lemonappdev/sample/data/LibDataClassTest.kt rename to test/konsist-path-tester/data/src/test/kotlin/com/lemonappdev/sample/data/LibDataClassTest.kt diff --git a/test/konsist-scope-creation/gradle/libs.versions.toml b/test/konsist-path-tester/gradle/libs.versions.toml similarity index 100% rename from test/konsist-scope-creation/gradle/libs.versions.toml rename to test/konsist-path-tester/gradle/libs.versions.toml diff --git a/test/konsist-scope-creation/gradle/wrapper/gradle-wrapper.jar b/test/konsist-path-tester/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from test/konsist-scope-creation/gradle/wrapper/gradle-wrapper.jar rename to test/konsist-path-tester/gradle/wrapper/gradle-wrapper.jar diff --git a/test/konsist-scope-creation/gradle/wrapper/gradle-wrapper.properties b/test/konsist-path-tester/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from test/konsist-scope-creation/gradle/wrapper/gradle-wrapper.properties rename to test/konsist-path-tester/gradle/wrapper/gradle-wrapper.properties diff --git a/test/konsist-scope-creation/gradlew b/test/konsist-path-tester/gradlew similarity index 100% rename from test/konsist-scope-creation/gradlew rename to test/konsist-path-tester/gradlew diff --git a/test/konsist-scope-creation/gradlew.bat b/test/konsist-path-tester/gradlew.bat similarity index 100% rename from test/konsist-scope-creation/gradlew.bat rename to test/konsist-path-tester/gradlew.bat diff --git a/test/konsist-path-tester/settings.gradle.kts b/test/konsist-path-tester/settings.gradle.kts new file mode 100644 index 0000000000..3750ab11af --- /dev/null +++ b/test/konsist-path-tester/settings.gradle.kts @@ -0,0 +1,6 @@ +rootProject.name = "konsist-path-tester" + +include( + ":app", + ":data", +) diff --git a/test/konsist-scope-creation/src/main/kotlin/com/lemonappdev/sample/RootClass.kt b/test/konsist-path-tester/src/main/kotlin/com/lemonappdev/sample/RootClass.kt similarity index 100% rename from test/konsist-scope-creation/src/main/kotlin/com/lemonappdev/sample/RootClass.kt rename to test/konsist-path-tester/src/main/kotlin/com/lemonappdev/sample/RootClass.kt diff --git a/test/konsist-scope-creation/src/main/kotlin/com/lemonappdev/sample/data/RootDataClass.kt b/test/konsist-path-tester/src/main/kotlin/com/lemonappdev/sample/data/RootDataClass.kt similarity index 100% rename from test/konsist-scope-creation/src/main/kotlin/com/lemonappdev/sample/data/RootDataClass.kt rename to test/konsist-path-tester/src/main/kotlin/com/lemonappdev/sample/data/RootDataClass.kt diff --git a/test/konsist-scope-creation/src/test/kotlin/com/lemonappdev/konsist/KonsistTestForRootProjectPath.kt b/test/konsist-path-tester/src/test/kotlin/com/lemonappdev/konsist/path/KonsistRootProjectPathTest.kt similarity index 83% rename from test/konsist-scope-creation/src/test/kotlin/com/lemonappdev/konsist/KonsistTestForRootProjectPath.kt rename to test/konsist-path-tester/src/test/kotlin/com/lemonappdev/konsist/path/KonsistRootProjectPathTest.kt index 562a903884..67553d1097 100644 --- a/test/konsist-scope-creation/src/test/kotlin/com/lemonappdev/konsist/KonsistTestForRootProjectPath.kt +++ b/test/konsist-path-tester/src/test/kotlin/com/lemonappdev/konsist/path/KonsistRootProjectPathTest.kt @@ -1,12 +1,12 @@ -package com.lemonappdev.konsist +package com.lemonappdev.konsist.path import com.lemonappdev.konsist.api.Konsist import org.amshove.kluent.shouldBeEqualTo import org.junit.jupiter.api.Test import java.io.File -class KonsistTestForRootProjectPath { +class KonsistRootProjectPathTest { @Test fun `scopeFromProject`() { // given diff --git a/test/konsist-scope-creation/src/test/kotlin/com/lemonappdev/sample/RootClassTest.kt b/test/konsist-path-tester/src/test/kotlin/com/lemonappdev/sample/RootClassTest.kt similarity index 100% rename from test/konsist-scope-creation/src/test/kotlin/com/lemonappdev/sample/RootClassTest.kt rename to test/konsist-path-tester/src/test/kotlin/com/lemonappdev/sample/RootClassTest.kt diff --git a/test/konsist-scope-creation/src/test/kotlin/com/lemonappdev/sample/data/RootDataClassTest.kt b/test/konsist-path-tester/src/test/kotlin/com/lemonappdev/sample/data/RootDataClassTest.kt similarity index 100% rename from test/konsist-scope-creation/src/test/kotlin/com/lemonappdev/sample/data/RootDataClassTest.kt rename to test/konsist-path-tester/src/test/kotlin/com/lemonappdev/sample/data/RootDataClassTest.kt diff --git a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromModule.kt b/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromModule.kt deleted file mode 100644 index 4de37a3b69..0000000000 --- a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromModule.kt +++ /dev/null @@ -1,102 +0,0 @@ -package com.lemonappdev.konsist - -import com.lemonappdev.konsist.api.Konsist -import com.lemonappdev.konsist.ext.mapToFilePaths -import com.lemonappdev.konsist.util.PathProvider.appIntegrationTestSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.appMainSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.dataMainSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.dataTestSourceSetDirectory -import org.amshove.kluent.shouldBeEqualTo -import org.junit.jupiter.api.Test - -class KonsistTestForScopeFromModule { - @Test - fun `scopeFromModule for app module`() { - // given - val sut = Konsist - .scopeFromModule("app") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForOperator.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForRootProjectPath.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromModule.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromPackage.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProduction.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProject.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromSourceSet.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromTest.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForSlice.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForToString.kt", - "$appIntegrationTestSourceSetDirectory/konsist/ext/KoScopeExt.kt", - "$appIntegrationTestSourceSetDirectory/konsist/util/PathProvider.kt", - "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", - "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", - "$appMainSourceSetDirectory/sample/AppClass.kt", - "$appMainSourceSetDirectory/sample/data/AppDataClass.kt", - ), - ) - } - - @Test - fun `scopeFromModule for data module`() { - // given - val sut = Konsist - .scopeFromModule("data") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$dataMainSourceSetDirectory/sample/LibClass.kt", - "$dataMainSourceSetDirectory/sample/data/LibDataClass.kt", - "$dataTestSourceSetDirectory/sample/LibClassTest.kt", - "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", - ), - ) - } - - @Test - fun `scopeFromModule for app and data modules`() { - // given - val sut = Konsist - .scopeFromModule("app", "data") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForOperator.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForRootProjectPath.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromModule.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromPackage.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProduction.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProject.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromSourceSet.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromTest.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForSlice.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForToString.kt", - "$appIntegrationTestSourceSetDirectory/konsist/ext/KoScopeExt.kt", - "$appIntegrationTestSourceSetDirectory/konsist/util/PathProvider.kt", - "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", - "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", - "$appMainSourceSetDirectory/sample/AppClass.kt", - "$appMainSourceSetDirectory/sample/data/AppDataClass.kt", - "$dataMainSourceSetDirectory/sample/LibClass.kt", - "$dataMainSourceSetDirectory/sample/data/LibDataClass.kt", - "$dataTestSourceSetDirectory/sample/LibClassTest.kt", - "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", - ), - ) - } -} diff --git a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromProject.kt b/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromProject.kt deleted file mode 100644 index 8925cf8931..0000000000 --- a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromProject.kt +++ /dev/null @@ -1,293 +0,0 @@ -package com.lemonappdev.konsist - -import com.lemonappdev.konsist.api.Konsist -import com.lemonappdev.konsist.ext.mapToFilePaths -import com.lemonappdev.konsist.util.PathProvider.appIntegrationTestSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.appMainSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.dataMainSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.dataTestSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.projectRootDirectory -import com.lemonappdev.konsist.util.PathProvider.rootMainSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.rootTestSourceSetDirectory -import org.amshove.kluent.shouldBeEqualTo -import org.junit.jupiter.api.Test - -class KonsistTestForScopeFromProject { - @Test - fun `scopeFromProject ignoreBuildConfig true`() { - // given - val sut = Konsist - .scopeFromProject(ignoreBuildConfig = true) - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForOperator.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForRootProjectPath.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromModule.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromPackage.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProduction.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProject.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromSourceSet.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromTest.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForSlice.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForToString.kt", - "$appIntegrationTestSourceSetDirectory/konsist/ext/KoScopeExt.kt", - "$appIntegrationTestSourceSetDirectory/konsist/util/PathProvider.kt", - "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", - "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", - "$appMainSourceSetDirectory/sample/AppClass.kt", - "$appMainSourceSetDirectory/sample/data/AppDataClass.kt", - "$dataMainSourceSetDirectory/sample/LibClass.kt", - "$dataMainSourceSetDirectory/sample/data/LibDataClass.kt", - "$dataTestSourceSetDirectory/sample/LibClassTest.kt", - "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", - "$rootMainSourceSetDirectory/sample/RootClass.kt", - "$rootMainSourceSetDirectory/sample/data/RootDataClass.kt", - "$rootTestSourceSetDirectory/konsist/KonsistTestForRootProjectPath.kt", - "$rootTestSourceSetDirectory/sample/RootClassTest.kt", - "$rootTestSourceSetDirectory/sample/data/RootDataClassTest.kt", - ), - ) - } - - @Test - fun `scopeFromProject ignoreBuildConfig false`() { - // given - val sut = Konsist - .scopeFromProject(ignoreBuildConfig = false) - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForOperator.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForRootProjectPath.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromModule.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromPackage.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProduction.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProject.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromSourceSet.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromTest.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForSlice.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForToString.kt", - "$appIntegrationTestSourceSetDirectory/konsist/ext/KoScopeExt.kt", - "$appIntegrationTestSourceSetDirectory/konsist/util/PathProvider.kt", - "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", - "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", - "$appMainSourceSetDirectory/sample/AppClass.kt", - "$appMainSourceSetDirectory/sample/data/AppDataClass.kt", - "$projectRootDirectory/buildSrc/RootBuildScrKotlinClass.kt", - "$dataMainSourceSetDirectory/sample/LibClass.kt", - "$dataMainSourceSetDirectory/sample/data/LibDataClass.kt", - "$dataTestSourceSetDirectory/sample/LibClassTest.kt", - "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", - "$rootMainSourceSetDirectory/sample/RootClass.kt", - "$rootMainSourceSetDirectory/sample/data/RootDataClass.kt", - "$rootTestSourceSetDirectory/konsist/KonsistTestForRootProjectPath.kt", - "$rootTestSourceSetDirectory/sample/RootClassTest.kt", - "$rootTestSourceSetDirectory/sample/data/RootDataClassTest.kt", - ), - ) - } - - @Test - fun `scopeFromProject for data module`() { - // given - val sut = Konsist - .scopeFromProject(moduleName = "data") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$dataMainSourceSetDirectory/sample/LibClass.kt", - "$dataMainSourceSetDirectory/sample/data/LibDataClass.kt", - "$dataTestSourceSetDirectory/sample/LibClassTest.kt", - "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", - ), - ) - } - - @Test - fun `scopeFromProject for main source set`() { - // given - val sut = Konsist - .scopeFromProject(sourceSetName = "main") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$appMainSourceSetDirectory/sample/AppClass.kt", - "$appMainSourceSetDirectory/sample/data/AppDataClass.kt", - "$dataMainSourceSetDirectory/sample/LibClass.kt", - "$dataMainSourceSetDirectory/sample/data/LibDataClass.kt", - "$rootMainSourceSetDirectory/sample/RootClass.kt", - "$rootMainSourceSetDirectory/sample/data/RootDataClass.kt", - ), - ) - } - - @Test - fun `scopeFromProject for integrationTest source set`() { - // given - val sut = Konsist - .scopeFromProject(sourceSetName = "integrationTest") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForOperator.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForRootProjectPath.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromModule.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromPackage.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProduction.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProject.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromSourceSet.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromTest.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForSlice.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForToString.kt", - "$appIntegrationTestSourceSetDirectory/konsist/ext/KoScopeExt.kt", - "$appIntegrationTestSourceSetDirectory/konsist/util/PathProvider.kt", - "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", - "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", - ), - ) - } - - @Test - fun `scopeFromProject for test source set`() { - // given - val sut = Konsist - .scopeFromProject(sourceSetName = "test") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$dataTestSourceSetDirectory/sample/LibClassTest.kt", - "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", - "$rootTestSourceSetDirectory/konsist/KonsistTestForRootProjectPath.kt", - "$rootTestSourceSetDirectory/sample/RootClassTest.kt", - "$rootTestSourceSetDirectory/sample/data/RootDataClassTest.kt", - ), - ) - } - - @Test - fun `scopeFromProject for app module and main source set`() { - // given - val sut = Konsist - .scopeFromProject(moduleName = "app", sourceSetName = "main") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$appMainSourceSetDirectory/sample/AppClass.kt", - "$appMainSourceSetDirectory/sample/data/AppDataClass.kt", - ), - ) - } - - @Test - fun `scopeFromProject for app module and integrationTest source set`() { - // given - val sut = Konsist - .scopeFromProject(moduleName = "app", sourceSetName = "integrationTest") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForOperator.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForRootProjectPath.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromModule.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromPackage.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProduction.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProject.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromSourceSet.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromTest.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForSlice.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForToString.kt", - "$appIntegrationTestSourceSetDirectory/konsist/ext/KoScopeExt.kt", - "$appIntegrationTestSourceSetDirectory/konsist/util/PathProvider.kt", - "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", - "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", - ), - ) - } - - @Test - fun `scopeFromProject for app module and test source set`() { - // given - val sut = Konsist - .scopeFromProject(moduleName = "app", sourceSetName = "test") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo(emptyList()) - } - - @Test - fun `scopeFromProject for data module and main source set`() { - // given - val sut = Konsist - .scopeFromProject(moduleName = "data", sourceSetName = "main") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$dataMainSourceSetDirectory/sample/LibClass.kt", - "$dataMainSourceSetDirectory/sample/data/LibDataClass.kt", - ), - ) - } - - @Test - fun `scopeFromProject for data module and integrationTest source set`() { - // given - val sut = Konsist - .scopeFromProject(moduleName = "data", sourceSetName = "integrationTest") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo(emptyList()) - } - - @Test - fun `scopeFromProject for data module and test source set`() { - // given - val sut = Konsist - .scopeFromProject(moduleName = "data", sourceSetName = "test") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$dataTestSourceSetDirectory/sample/LibClassTest.kt", - "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", - ), - ) - } -} diff --git a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromTest.kt b/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromTest.kt deleted file mode 100644 index 9548184d9c..0000000000 --- a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForScopeFromTest.kt +++ /dev/null @@ -1,249 +0,0 @@ -package com.lemonappdev.konsist - -import com.lemonappdev.konsist.api.Konsist -import com.lemonappdev.konsist.ext.mapToFilePaths -import com.lemonappdev.konsist.util.PathProvider.appIntegrationTestSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.dataTestSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.rootTestSourceSetDirectory -import org.amshove.kluent.shouldBeEqualTo -import org.amshove.kluent.shouldThrow -import org.amshove.kluent.withMessage -import org.junit.jupiter.api.Test - -class KonsistTestForScopeFromTest { - @Test - fun `scopeFromTest`() { - // given - val sut = Konsist - .scopeFromTest() - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForOperator.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForRootProjectPath.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromModule.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromPackage.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProduction.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProject.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromSourceSet.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromTest.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForSlice.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForToString.kt", - "$appIntegrationTestSourceSetDirectory/konsist/ext/KoScopeExt.kt", - "$appIntegrationTestSourceSetDirectory/konsist/util/PathProvider.kt", - "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", - "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", - "$dataTestSourceSetDirectory/sample/LibClassTest.kt", - "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", - "$rootTestSourceSetDirectory/konsist/KonsistTestForRootProjectPath.kt", - "$rootTestSourceSetDirectory/sample/RootClassTest.kt", - "$rootTestSourceSetDirectory/sample/data/RootDataClassTest.kt", - ), - ) - } - - @Test - fun `scopeFromTest, main source set`() { - // given - val func = { Konsist.scopeFromTest(sourceSetName = "main") } - - // then - val message = "Source set 'main' is a production source set, but it should be test source set." - func shouldThrow IllegalArgumentException::class withMessage message - } - - @Test - fun `scopeFromTest, integrationTest source set`() { - // given - val sut = Konsist - .scopeFromTest(sourceSetName = "integrationTest") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForOperator.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForRootProjectPath.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromModule.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromPackage.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProduction.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProject.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromSourceSet.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromTest.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForSlice.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForToString.kt", - "$appIntegrationTestSourceSetDirectory/konsist/ext/KoScopeExt.kt", - "$appIntegrationTestSourceSetDirectory/konsist/util/PathProvider.kt", - "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", - "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", - ), - ) - } - - @Test - fun `scopeFromTest, test source set`() { - // given - val sut = Konsist - .scopeFromTest(sourceSetName = "test") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$dataTestSourceSetDirectory/sample/LibClassTest.kt", - "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", - "$rootTestSourceSetDirectory/konsist/KonsistTestForRootProjectPath.kt", - "$rootTestSourceSetDirectory/sample/RootClassTest.kt", - "$rootTestSourceSetDirectory/sample/data/RootDataClassTest.kt", - ), - ) - } - - @Test - fun `scopeFromTest, app module`() { - // given - val sut = Konsist - .scopeFromTest(moduleName = "app") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForOperator.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForRootProjectPath.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromModule.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromPackage.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProduction.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProject.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromSourceSet.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromTest.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForSlice.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForToString.kt", - "$appIntegrationTestSourceSetDirectory/konsist/ext/KoScopeExt.kt", - "$appIntegrationTestSourceSetDirectory/konsist/util/PathProvider.kt", - "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", - "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", - ), - ) - } - - @Test - fun `scopeFromTest, app module, main source set`() { - // given - val func = { Konsist.scopeFromTest(moduleName = "app", sourceSetName = "main") } - - // then - val message = "Source set 'main' is a production source set, but it should be test source set." - func shouldThrow IllegalArgumentException::class withMessage message - } - - @Test - fun `scopeFromTest, app module, integrationTest source set`() { - // given - val sut = Konsist - .scopeFromTest(moduleName = "app", sourceSetName = "integrationTest") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForOperator.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForRootProjectPath.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromModule.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromPackage.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProduction.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProject.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectDirectory.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromProjectFile.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromSourceSet.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForScopeFromTest.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForSlice.kt", - "$appIntegrationTestSourceSetDirectory/konsist/KonsistTestForToString.kt", - "$appIntegrationTestSourceSetDirectory/konsist/ext/KoScopeExt.kt", - "$appIntegrationTestSourceSetDirectory/konsist/util/PathProvider.kt", - "$appIntegrationTestSourceSetDirectory/sample/AppClassTest.kt", - "$appIntegrationTestSourceSetDirectory/sample/data/AppDataClassTest.kt", - ), - ) - } - - @Test - fun `scopeFromTest, app module, test source set`() { - // given - val sut = Konsist - .scopeFromTest(moduleName = "app", sourceSetName = "test") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo(emptyList()) - } - - @Test - fun `scopeFromTest, data module`() { - // given - val sut = Konsist - .scopeFromTest(moduleName = "data") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$dataTestSourceSetDirectory/sample/LibClassTest.kt", - "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", - ), - ) - } - - @Test - fun `scopeFromTest, data module, main source set`() { - // given - val func = { Konsist.scopeFromTest(moduleName = "data", sourceSetName = "main") } - - // then - val message = "Source set 'main' is a production source set, but it should be test source set." - func shouldThrow IllegalArgumentException::class withMessage message - } - - @Test - fun `scopeFromTest, data module, integrationTest source set`() { - // given - val sut = Konsist - .scopeFromTest(moduleName = "data", sourceSetName = "integrationTest") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo(emptyList()) - } - - @Test - fun `scopeFromTest, data module, test source set`() { - // given - val sut = Konsist - .scopeFromTest(moduleName = "data", sourceSetName = "test") - .mapToFilePaths() - - // then - sut.shouldBeEqualTo( - listOf( - "$dataTestSourceSetDirectory/sample/LibClassTest.kt", - "$dataTestSourceSetDirectory/sample/data/LibDataClassTest.kt", - ), - ) - } -} diff --git a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForSlice.kt b/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForSlice.kt deleted file mode 100644 index 5b85060d98..0000000000 --- a/test/konsist-scope-creation/app/src/integrationTest/kotlin/com/lemonappdev/konsist/KonsistTestForSlice.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.lemonappdev.konsist - -import com.lemonappdev.konsist.api.Konsist -import com.lemonappdev.konsist.ext.mapToFilePaths -import com.lemonappdev.konsist.util.PathProvider.dataMainSourceSetDirectory -import com.lemonappdev.konsist.util.PathProvider.rootTestSourceSetDirectory -import org.amshove.kluent.shouldBeEqualTo -import org.junit.jupiter.api.Test - -class KonsistTestForSlice { - @Test - fun `slice-with-predicate-name`() { - // given - val sut = Konsist.scopeFromPackage("com.lemonappdev.sample", sourceSetName = "test") - - // then - val actual = sut.slice { it.name.startsWith("RootClass") } - - actual - .mapToFilePaths() - .shouldBeEqualTo( - listOf( - "${rootTestSourceSetDirectory}/sample/RootClassTest.kt", - ), - ) - } - - @Test - fun `slice-with-predicate-import`() { - // given - val sut = Konsist.scopeFromPackage("com.lemonappdev.sample", sourceSetName = "main") - - // then - val actual = sut.slice { it.hasImports("com.sample") } - - actual - .mapToFilePaths() - .shouldBeEqualTo( - listOf( - "$dataMainSourceSetDirectory/sample/LibClass.kt", - ), - ) - } -} diff --git a/test/konsist-scope-creation/build/RootBuildKotlinClass.kt b/test/konsist-scope-creation/build/RootBuildKotlinClass.kt deleted file mode 100644 index 9e1b2fcf5c..0000000000 --- a/test/konsist-scope-creation/build/RootBuildKotlinClass.kt +++ /dev/null @@ -1 +0,0 @@ -class RootBuildKotlinClass diff --git a/test/konsist-scope-creation/build/nested/RootBuildKotlinClass.kt b/test/konsist-scope-creation/build/nested/RootBuildKotlinClass.kt deleted file mode 100644 index 9e1b2fcf5c..0000000000 --- a/test/konsist-scope-creation/build/nested/RootBuildKotlinClass.kt +++ /dev/null @@ -1 +0,0 @@ -class RootBuildKotlinClass diff --git a/test/konsist-scope-creation/settings.gradle.kts b/test/konsist-scope-creation/settings.gradle.kts deleted file mode 100644 index 6e829f57f5..0000000000 --- a/test/konsist-scope-creation/settings.gradle.kts +++ /dev/null @@ -1,6 +0,0 @@ -rootProject.name = "konsist-scope-creation" - -include( - ":app", - ":data", -) diff --git a/test/konsist-scope-creation/target/RootTargetKotlinClass.kt b/test/konsist-scope-creation/target/RootTargetKotlinClass.kt deleted file mode 100644 index 1cc8803997..0000000000 --- a/test/konsist-scope-creation/target/RootTargetKotlinClass.kt +++ /dev/null @@ -1 +0,0 @@ -class RootTargetKotlinClass diff --git a/test/konsist-scope-creation/target/nested/RootTargetKotlinClass.kt b/test/konsist-scope-creation/target/nested/RootTargetKotlinClass.kt deleted file mode 100644 index 1cc8803997..0000000000 --- a/test/konsist-scope-creation/target/nested/RootTargetKotlinClass.kt +++ /dev/null @@ -1 +0,0 @@ -class RootTargetKotlinClass