From 988d41a06f54959dc20e462a755e7df174ec380c Mon Sep 17 00:00:00 2001 From: Igor Wojda Date: Mon, 4 Nov 2024 03:27:52 +0100 Subject: [PATCH 1/3] KON-679-allow-to-call-layer-dependency-method-on-collections --- .../api/architecture/LayerDependencies.kt | 86 ++++++++++++ .../architecture/LayerDependenciesCore.kt | 30 +++- .../core/architecture/LayerDependency.kt | 2 +- .../core/architecture/LayerDependencyType.kt | 2 +- .../CircularDependencyDependenciesRule.kt | 2 +- ...DependOnLayerThenDependentOnNothingRule.kt | 2 +- ...othingThenDependOnLayerDependenciesRule.kt | 2 +- .../architecture/LayerDependenciesCoreTest.kt | 128 +++++++++++++++++- .../core/architecture/LayerDependencyTest.kt | 4 +- .../CircularDependencyDependenciesRuleTest.kt | 16 +-- ...ndOnLayerThenDependentOnNothingRuleTest.kt | 8 +- ...ngThenDependOnLayerDependenciesRuleTest.kt | 8 +- .../validator/rule/UniqueLayerRuleTest.kt | 28 ++-- 13 files changed, 276 insertions(+), 42 deletions(-) diff --git a/lib/src/main/kotlin/com/lemonappdev/konsist/api/architecture/LayerDependencies.kt b/lib/src/main/kotlin/com/lemonappdev/konsist/api/architecture/LayerDependencies.kt index 41fe291317..d13cfb3e90 100644 --- a/lib/src/main/kotlin/com/lemonappdev/konsist/api/architecture/LayerDependencies.kt +++ b/lib/src/main/kotlin/com/lemonappdev/konsist/api/architecture/LayerDependencies.kt @@ -38,6 +38,20 @@ interface LayerDependencies { vararg layers: Layer, ): Unit + /** + * Adds dependencies between each layer in the collection and the specified layer. + * + * Example usage: + * ``` + * val layers = setOf(domainLayer, dataLayer) + * layers.dependsOn(presentationLayer) + * ``` + * + * @receiver The collection of [Layer]s that depends on other layer. + * @param layer The layer that the collection of layers depends on. + */ + fun Collection.dependsOn(layer: Layer): Unit + /** * Specifies that the current layer does not depend on the given list of layers. * @@ -46,6 +60,21 @@ interface LayerDependencies { */ fun Layer.doesNotDependOn(layers: Set): Unit + /** + * Adds dependencies between each layer in the collection and the specified layers. + * + * Example usage: + * ``` + * val sourceLayers = setOf(domainLayer, dataLayer) + * val targetLayers = setOf(presentationLayer, infrastructureLayer) + * sourceLayers.dependsOn(targetLayers) + * ``` + * + * @receiver The collection of [Layer]s that depends on other layers. + * @param layers The set of layers that the collection of layers depends on. + */ + fun Collection.dependsOn(layers: Set): Unit + /** * Specifies that the current layer does not depend on any other layer. * @@ -55,6 +84,49 @@ interface LayerDependencies { */ fun Layer.dependsOnNothing(): Unit + /** + * Specifies that none of the layers in the collection depend on any other layer. + * + * Example usage: + * ``` + * val layers = setOf(domainLayer, dataLayer) + * layers.dependsOnNothing() + * ``` + * + * @receiver The collection of [Layer]s that should not depend on any other layer. + * @see include + */ + fun Collection.dependsOnNothing(): Unit + + /** + * Specifies that none of the layers in the collection depend on the specified layer. + * + * Example usage: + * ``` + * val layers = setOf(domainLayer, dataLayer) + * layers.doesNotDependOn(presentationLayer) + * ``` + * + * @receiver The collection of [Layer]s that do not depend on the specified layer. + * @param layer The layer that none of the collection layers should depend on. + */ + fun Collection.doesNotDependOn(layer: Layer): Unit + + /** + * Specifies that none of the layers in the collection depend on any of the specified layers. + * + * Example usage: + * ``` + * val sourceLayers = setOf(domainLayer, dataLayer) + * val targetLayers = setOf(presentationLayer, infrastructureLayer) + * sourceLayers.doesNotDependOn(targetLayers) + * ``` + * + * @receiver The collection of [Layer]s that do not depend on the specified layers. + * @param layers The set of layers that none of the collection layers should depend on. + */ + fun Collection.doesNotDependOn(layers: Set): Unit + /** * This function is used to include a Layer in the architecture without specifying any dependencies. * It can be used in combination with dependsOnNothing() to specify that a layer does not depend on any other layer. @@ -63,4 +135,18 @@ interface LayerDependencies { * @return The LayerDependenciesCore instance for chaining */ fun Layer.include(): Unit + + /** + * Includes all layers from the collection in the architecture without specifying any dependencies. + * This can be used in combination with dependsOnNothing() to specify that multiple layers do not depend on any other layer. + * + * Example usage: + * ``` + * val layers = setOf(domainLayer, dataLayer) + * layers.include() + * ``` + * + * @receiver The collection of [Layer]s to be included in the architecture. + */ + fun Collection.include(): Unit } diff --git a/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependenciesCore.kt b/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependenciesCore.kt index 389702a507..87d18341dc 100644 --- a/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependenciesCore.kt +++ b/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependenciesCore.kt @@ -17,7 +17,7 @@ internal class LayerDependenciesCore( internal val dependsOnDependencies: Map> get() = layerDependencies - .filter { it.dependencyType == LayerDependencyType.DEPEND_ON_LAYER } + .filter { it.dependencyType == LayerDependencyType.DEPENDS_ON_LAYER } .groupBy { it.layer1 } .mapValues { (_, dependencies) -> dependencies.mapNotNull { it.layer2 }.toSet() @@ -87,12 +87,20 @@ internal class LayerDependenciesCore( } layers.forEach { - addLayerDependency(this, LayerDependencyType.DEPEND_ON_LAYER, it) + addLayerDependency(this, LayerDependencyType.DEPENDS_ON_LAYER, it) } layerValidatorManager.validateLayerDependencies(layerDependencies) } + override fun Collection.dependsOn(layer: Layer) { + forEach { it.dependsOn(layer) } + } + + override fun Collection.dependsOn(layers: Set) { + forEach { it.dependsOn(layers) } + } + private fun getLayersMessage(layers: Set) = if (layers.size == 1) { "layer '${layers.first().name}'" @@ -131,6 +139,14 @@ internal class LayerDependenciesCore( layerValidatorManager.validateLayerDependencies(layerDependencies) } + override fun Collection.doesNotDependOn(layer: Layer) { + forEach { it.doesNotDependOn(layer) } + } + + override fun Collection.doesNotDependOn(layers: Set) { + forEach { it.doesNotDependOn(layers) } + } + override fun Layer.dependsOnNothing() { val dependOnLayerDependencies = getLayersWithDependOnLayerDependency(this) val dependOnLayers = @@ -151,11 +167,19 @@ internal class LayerDependenciesCore( layerValidatorManager.validateLayerDependencies(layerDependencies) } + override fun Collection.dependsOnNothing() { + forEach { it.dependsOnNothing() } + } + override fun Layer.include() { layers.add(this) layerDependencies.add(LayerDependency(this, LayerDependencyType.NONE, null)) } + override fun Collection.include() { + forEach { it.include() } + } + private fun getLayerWithDependOnNothingDependency(layer: Layer): LayerDependency? { val dependOnLayerDependency = layerDependencies.firstOrNull { @@ -167,7 +191,7 @@ internal class LayerDependenciesCore( private fun getLayersWithDependOnLayerDependency(layer: Layer): Set { val dependOnLayerDependency = layerDependencies.filter { - it.layer1 == layer && it.dependencyType == LayerDependencyType.DEPEND_ON_LAYER + it.layer1 == layer && it.dependencyType == LayerDependencyType.DEPENDS_ON_LAYER } return dependOnLayerDependency.toSet() diff --git a/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependency.kt b/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependency.kt index 915c870493..be7f7ac0ff 100644 --- a/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependency.kt +++ b/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependency.kt @@ -8,7 +8,7 @@ internal data class LayerDependency( val layer2: Layer? = null, ) { init { - require(!((dependencyType == LayerDependencyType.DEPEND_ON_LAYER) && layer2 == null)) { + require(!((dependencyType == LayerDependencyType.DEPENDS_ON_LAYER) && layer2 == null)) { "layer2 cannot be null when dependency type is DEPEND_ON_LAYER" } } diff --git a/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependencyType.kt b/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependencyType.kt index 594e40a91d..c76caa1a84 100644 --- a/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependencyType.kt +++ b/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependencyType.kt @@ -1,7 +1,7 @@ package com.lemonappdev.konsist.core.architecture internal enum class LayerDependencyType { - DEPEND_ON_LAYER, + DEPENDS_ON_LAYER, DEPEND_ON_NOTHING, DOES_NOT_DEPEND_ON_LAYER, NONE, diff --git a/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/CircularDependencyDependenciesRule.kt b/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/CircularDependencyDependenciesRule.kt index 9f386d4f0f..dcc5e3c250 100644 --- a/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/CircularDependencyDependenciesRule.kt +++ b/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/CircularDependencyDependenciesRule.kt @@ -26,7 +26,7 @@ internal class CircularDependencyDependenciesRule : LayerDependenciesRule { private fun buildDependencyGraph(dependencies: Set): Map> = dependencies - .filter { it.dependencyType == LayerDependencyType.DEPEND_ON_LAYER && it.layer2 != null } + .filter { it.dependencyType == LayerDependencyType.DEPENDS_ON_LAYER && it.layer2 != null } .groupBy { it.layer1 } .mapValues { (_, deps) -> deps.mapNotNull { it.layer2 }.toSet() } diff --git a/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/DependOnLayerThenDependentOnNothingRule.kt b/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/DependOnLayerThenDependentOnNothingRule.kt index c87892472c..7875c39f86 100644 --- a/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/DependOnLayerThenDependentOnNothingRule.kt +++ b/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/DependOnLayerThenDependentOnNothingRule.kt @@ -8,7 +8,7 @@ internal class DependOnLayerThenDependentOnNothingRule : LayerDependenciesRule { override fun validate(layerDependencies: Set) { val layersWithDependencies = layerDependencies - .filter { it.dependencyType == LayerDependencyType.DEPEND_ON_LAYER } + .filter { it.dependencyType == LayerDependencyType.DEPENDS_ON_LAYER } .map { it.layer1 } val conflictingDependencies = diff --git a/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/DependentOnNothingThenDependOnLayerDependenciesRule.kt b/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/DependentOnNothingThenDependOnLayerDependenciesRule.kt index a662a4a507..7bf5efb935 100644 --- a/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/DependentOnNothingThenDependOnLayerDependenciesRule.kt +++ b/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/DependentOnNothingThenDependOnLayerDependenciesRule.kt @@ -13,7 +13,7 @@ internal class DependentOnNothingThenDependOnLayerDependenciesRule : LayerDepend val conflictingDependencies = layerDependencies - .filter { it.dependencyType == LayerDependencyType.DEPEND_ON_LAYER && independentLayers.contains(it.layer1) } + .filter { it.dependencyType == LayerDependencyType.DEPENDS_ON_LAYER && independentLayers.contains(it.layer1) } if (conflictingDependencies.isNotEmpty()) { val violations = diff --git a/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependenciesCoreTest.kt b/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependenciesCoreTest.kt index 48ef09d749..da4406a2f0 100644 --- a/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependenciesCoreTest.kt +++ b/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependenciesCoreTest.kt @@ -387,8 +387,8 @@ class LayerDependenciesCoreTest { // then sut.layerDependencies shouldContainAll setOf( - LayerDependency(layer1, LayerDependencyType.DEPEND_ON_LAYER, layer2), - LayerDependency(layer1, LayerDependencyType.DEPEND_ON_LAYER, layer3), + LayerDependency(layer1, LayerDependencyType.DEPENDS_ON_LAYER, layer2), + LayerDependency(layer1, LayerDependencyType.DEPENDS_ON_LAYER, layer3), ) } @@ -818,4 +818,128 @@ class LayerDependenciesCoreTest { sut.layerDependencies shouldContain LayerDependency(layer2, LayerDependencyType.NONE, null) } // endregion + + // region Collection dependencies + @Test + fun `collection dependsOn single layer creates dependencies for all layers in collection`() { + // given + val sut = LayerDependenciesCore() + val sourceLayer1 = Layer("Domain", "com.example.domain..") + val sourceLayer2 = Layer("Data", "com.example.data..") + val targetLayer = Layer("Presentation", "com.example.presentation..") + val sourceLayers = setOf(sourceLayer1, sourceLayer2) + + // when + with(sut) { + sourceLayers.dependsOn(targetLayer) + } + + // then + sut.layerDependencies shouldContain LayerDependency(sourceLayer1, LayerDependencyType.DEPENDS_ON_LAYER, targetLayer) + sut.layerDependencies shouldContain LayerDependency(sourceLayer2, LayerDependencyType.DEPENDS_ON_LAYER, targetLayer) + } + + @Test + fun `collection dependsOn set of layers creates dependencies for all combinations`() { + // given + val sut = LayerDependenciesCore() + val sourceLayer1 = Layer("Domain", "com.example.domain..") + val sourceLayer2 = Layer("Data", "com.example.data..") + val targetLayer1 = Layer("Presentation", "com.example.presentation..") + val targetLayer2 = Layer("Infrastructure", "com.example.infrastructure..") + val sourceLayers = setOf(sourceLayer1, sourceLayer2) + val targetLayers = setOf(targetLayer1, targetLayer2) + + // when + with(sut) { + sourceLayers.dependsOn(targetLayers) + } + + // then + sut.layerDependencies shouldContain LayerDependency(sourceLayer1, LayerDependencyType.DEPENDS_ON_LAYER, targetLayer1) + sut.layerDependencies shouldContain LayerDependency(sourceLayer1, LayerDependencyType.DEPENDS_ON_LAYER, targetLayer2) + sut.layerDependencies shouldContain LayerDependency(sourceLayer2, LayerDependencyType.DEPENDS_ON_LAYER, targetLayer1) + sut.layerDependencies shouldContain LayerDependency(sourceLayer2, LayerDependencyType.DEPENDS_ON_LAYER, targetLayer2) + } + + @Test + fun `collection dependsOnNothing creates dependencies for all layers in collection`() { + // given + val sut = LayerDependenciesCore() + val sourceLayer1 = Layer("Domain", "com.example.domain..") + val sourceLayer2 = Layer("Data", "com.example.data..") + val sourceLayers = setOf(sourceLayer1, sourceLayer2) + + // when + with(sut) { + sourceLayers.dependsOnNothing() + } + + // then + sut.layerDependencies shouldContain LayerDependency(sourceLayer1, LayerDependencyType.DEPEND_ON_NOTHING, null) + sut.layerDependencies shouldContain LayerDependency(sourceLayer2, LayerDependencyType.DEPEND_ON_NOTHING, null) + } + + @Test + fun `collection include adds all layers to layers collection`() { + // given + val sut = LayerDependenciesCore() + val layer1 = Layer("Domain", "com.example.domain..") + val layer2 = Layer("Data", "com.example.data..") + val layers = setOf(layer1, layer2) + + // when + with(sut) { + layers.include() + } + + // then + sut.layers shouldContain layer1 + sut.layers shouldContain layer2 + sut.layerDependencies shouldContain LayerDependency(layer1, LayerDependencyType.NONE, null) + sut.layerDependencies shouldContain LayerDependency(layer2, LayerDependencyType.NONE, null) + } + + @Test + fun `collection doesNotDependOn single layer creates dependencies for all layers in collection`() { + // given + val sut = LayerDependenciesCore() + val sourceLayer1 = Layer("Domain", "com.example.domain..") + val sourceLayer2 = Layer("Data", "com.example.data..") + val targetLayer = Layer("Presentation", "com.example.presentation..") + val sourceLayers = setOf(sourceLayer1, sourceLayer2) + + // when + with(sut) { + sourceLayers.doesNotDependOn(targetLayer) + } + + // then + sut.layerDependencies shouldContain LayerDependency(sourceLayer1, LayerDependencyType.DOES_NOT_DEPEND_ON_LAYER, targetLayer) + sut.layerDependencies shouldContain LayerDependency(sourceLayer2, LayerDependencyType.DOES_NOT_DEPEND_ON_LAYER, targetLayer) + } + + @Test + fun `collection doesNotDependOn set of layers creates dependencies for all combinations`() { + // given + val sut = LayerDependenciesCore() + val sourceLayer1 = Layer("Domain", "com.example.domain..") + val sourceLayer2 = Layer("Data", "com.example.data..") + val targetLayer1 = Layer("Presentation", "com.example.presentation..") + val targetLayer2 = Layer("Infrastructure", "com.example.infrastructure..") + val sourceLayers = setOf(sourceLayer1, sourceLayer2) + val targetLayers = setOf(targetLayer1, targetLayer2) + + // when + with(sut) { + sourceLayers.doesNotDependOn(targetLayers) + } + + // then + sut.layerDependencies shouldContain LayerDependency(sourceLayer1, LayerDependencyType.DOES_NOT_DEPEND_ON_LAYER, targetLayer1) + sut.layerDependencies shouldContain LayerDependency(sourceLayer1, LayerDependencyType.DOES_NOT_DEPEND_ON_LAYER, targetLayer2) + sut.layerDependencies shouldContain LayerDependency(sourceLayer2, LayerDependencyType.DOES_NOT_DEPEND_ON_LAYER, targetLayer1) + sut.layerDependencies shouldContain LayerDependency(sourceLayer2, LayerDependencyType.DOES_NOT_DEPEND_ON_LAYER, targetLayer2) + } + // endregion } diff --git a/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependencyTest.kt b/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependencyTest.kt index 211580778b..9797a4dae4 100644 --- a/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependencyTest.kt +++ b/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependencyTest.kt @@ -13,7 +13,7 @@ class LayerDependencyTest { val layer2 = Layer("layer2", "package2..") // when / Then - LayerDependency(layer1, LayerDependencyType.DEPEND_ON_LAYER, layer2) // Should not throw + LayerDependency(layer1, LayerDependencyType.DEPENDS_ON_LAYER, layer2) // Should not throw } @Test @@ -34,7 +34,7 @@ class LayerDependencyTest { val layer1 = Layer("layer1", "package1..") // when - val func = { LayerDependency(layer1, LayerDependencyType.DEPEND_ON_LAYER, null) } + val func = { LayerDependency(layer1, LayerDependencyType.DEPENDS_ON_LAYER, null) } // then func shouldThrow IllegalArgumentException::class withMessage "layer2 cannot be null when dependency type is DEPEND_ON_LAYER" diff --git a/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/CircularDependencyDependenciesRuleTest.kt b/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/CircularDependencyDependenciesRuleTest.kt index cfe7648b80..21b0c1cea7 100644 --- a/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/CircularDependencyDependenciesRuleTest.kt +++ b/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/CircularDependencyDependenciesRuleTest.kt @@ -23,12 +23,12 @@ class CircularDependencyDependenciesRuleTest { LayerDependency( layer1 = layer1, layer2 = layer2, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, ), LayerDependency( layer1 = layer2, layer2 = layer3, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, ), ) @@ -50,12 +50,12 @@ class CircularDependencyDependenciesRuleTest { LayerDependency( layer1 = layer1, layer2 = layer2, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, ), LayerDependency( layer1 = layer2, layer2 = layer1, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, ), ) @@ -102,22 +102,22 @@ class CircularDependencyDependenciesRuleTest { LayerDependency( layer1 = layer1, layer2 = layer2, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, ), LayerDependency( layer1 = layer2, layer2 = layer3, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, ), LayerDependency( layer1 = layer3, layer2 = layer4, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, ), LayerDependency( layer1 = layer4, layer2 = layer1, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, ), ) diff --git a/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/DependOnLayerThenDependentOnNothingRuleTest.kt b/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/DependOnLayerThenDependentOnNothingRuleTest.kt index 0393139d2e..79bb86a808 100644 --- a/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/DependOnLayerThenDependentOnNothingRuleTest.kt +++ b/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/DependOnLayerThenDependentOnNothingRuleTest.kt @@ -27,7 +27,7 @@ class DependOnLayerThenDependentOnNothingRuleTest { LayerDependency( layer1 = layer, layer2 = dependentLayer, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, ), LayerDependency( layer1 = layer, @@ -65,12 +65,12 @@ class DependOnLayerThenDependentOnNothingRuleTest { LayerDependency( layer1 = layer1, layer2 = dependentLayer, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, ), LayerDependency( layer1 = layer2, layer2 = dependentLayer, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, ), LayerDependency( layer1 = layer1, @@ -109,7 +109,7 @@ class DependOnLayerThenDependentOnNothingRuleTest { LayerDependency( layer1 = layer, layer2 = dependentLayer, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, ), ) diff --git a/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/DependentOnNothingThenDependOnLayerDependenciesRuleTest.kt b/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/DependentOnNothingThenDependOnLayerDependenciesRuleTest.kt index d4f6a5fdca..0fa39c3cc9 100644 --- a/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/DependentOnNothingThenDependOnLayerDependenciesRuleTest.kt +++ b/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/DependentOnNothingThenDependOnLayerDependenciesRuleTest.kt @@ -32,7 +32,7 @@ class DependentOnNothingThenDependOnLayerDependenciesRuleTest { LayerDependency( layer1 = layer, layer2 = dependentLayer, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, ), ) @@ -77,12 +77,12 @@ class DependentOnNothingThenDependOnLayerDependenciesRuleTest { LayerDependency( layer1 = layer1, layer2 = dependentLayer1, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, ), LayerDependency( layer1 = layer2, layer2 = dependentLayer2, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, ), ) @@ -111,7 +111,7 @@ class DependentOnNothingThenDependOnLayerDependenciesRuleTest { LayerDependency( layer1 = layer, layer2 = dependentLayer, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, ), ) diff --git a/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/UniqueLayerRuleTest.kt b/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/UniqueLayerRuleTest.kt index 98dbc4dc72..9627a2aebf 100644 --- a/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/UniqueLayerRuleTest.kt +++ b/lib/src/test/kotlin/com/lemonappdev/konsist/core/architecture/validator/rule/UniqueLayerRuleTest.kt @@ -46,7 +46,7 @@ class UniqueLayerRuleTest { setOf( LayerDependency( layer1 = layer1, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, layer2 = layer2, ), ) @@ -88,7 +88,7 @@ class UniqueLayerRuleTest { setOf( LayerDependency( layer1 = layer1, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, layer2 = layer2, ), ) @@ -127,7 +127,7 @@ class UniqueLayerRuleTest { setOf( LayerDependency( layer1 = layer1, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, layer2 = layer2, ), ) @@ -166,7 +166,7 @@ class UniqueLayerRuleTest { setOf( LayerDependency( layer1 = layer1, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, layer2 = layer2, ), ) @@ -221,7 +221,7 @@ class UniqueLayerRuleTest { setOf( LayerDependency( layer1 = layer1, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, layer2 = layer2, ), LayerDependency( @@ -250,12 +250,12 @@ class UniqueLayerRuleTest { setOf( LayerDependency( layer1 = layer1, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, layer2 = layer2, ), LayerDependency( layer1 = layer1, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, layer2 = layer3, ), LayerDependency( @@ -281,7 +281,7 @@ class UniqueLayerRuleTest { setOf( LayerDependency( layer1 = layer1, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, layer2 = layer1, ), ) @@ -306,12 +306,12 @@ class UniqueLayerRuleTest { setOf( LayerDependency( layer1 = layer1, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, layer2 = layer2, ), LayerDependency( layer1 = layer2, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, layer2 = layer3, ), LayerDependency( @@ -321,7 +321,7 @@ class UniqueLayerRuleTest { ), LayerDependency( layer1 = layer4, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, layer2 = layer1, ), ) @@ -345,7 +345,7 @@ class UniqueLayerRuleTest { setOf( LayerDependency( layer1 = layer1, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, layer2 = layer2, ), LayerDependency( @@ -377,12 +377,12 @@ class UniqueLayerRuleTest { setOf( LayerDependency( layer1 = layer1, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, layer2 = layer2, ), LayerDependency( layer1 = layer2, - dependencyType = LayerDependencyType.DEPEND_ON_LAYER, + dependencyType = LayerDependencyType.DEPENDS_ON_LAYER, layer2 = layer1, ), ) From 62d42f68d414a6aef2165e59b2b915b6d2d4183f Mon Sep 17 00:00:00 2001 From: Igor Wojda Date: Mon, 4 Nov 2024 03:38:34 +0100 Subject: [PATCH 2/3] Fix enum order --- .../kotlin/com/lemonappdev/konsist/core/EnumKonsistTest.kt | 2 +- .../konsist/core/architecture/LayerDependencyType.kt | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/src/konsistTest/kotlin/com/lemonappdev/konsist/core/EnumKonsistTest.kt b/lib/src/konsistTest/kotlin/com/lemonappdev/konsist/core/EnumKonsistTest.kt index 1e93b286ab..e2e2d9720f 100644 --- a/lib/src/konsistTest/kotlin/com/lemonappdev/konsist/core/EnumKonsistTest.kt +++ b/lib/src/konsistTest/kotlin/com/lemonappdev/konsist/core/EnumKonsistTest.kt @@ -9,7 +9,7 @@ import org.junit.jupiter.api.Test class EnumKonsistTest { @Test - fun `enums consts are defined interface alphabetical order `() { + fun `enums consts are defined interface alphabetical order`() { Konsist .scopeFromProduction() .classes() diff --git a/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependencyType.kt b/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependencyType.kt index c76caa1a84..fe80cd32b0 100644 --- a/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependencyType.kt +++ b/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependencyType.kt @@ -1,8 +1,9 @@ package com.lemonappdev.konsist.core.architecture internal enum class LayerDependencyType { - DEPENDS_ON_LAYER, DEPEND_ON_NOTHING, + DEPENDS_ON_LAYER, DOES_NOT_DEPEND_ON_LAYER, NONE, } + From 4bb518ab029ce681e9066f8fe69d7247b4ab2aa2 Mon Sep 17 00:00:00 2001 From: Igor Wojda Date: Mon, 4 Nov 2024 03:42:49 +0100 Subject: [PATCH 3/3] Fix spotless --- .../lemonappdev/konsist/core/architecture/LayerDependencyType.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependencyType.kt b/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependencyType.kt index fe80cd32b0..a841e50451 100644 --- a/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependencyType.kt +++ b/lib/src/main/kotlin/com/lemonappdev/konsist/core/architecture/LayerDependencyType.kt @@ -6,4 +6,3 @@ internal enum class LayerDependencyType { DOES_NOT_DEPEND_ON_LAYER, NONE, } -