diff --git a/project-generator/src/main/kotlin/io/github/cdsap/projectgenerator/ProjectGraphGenerator.kt b/project-generator/src/main/kotlin/io/github/cdsap/projectgenerator/ProjectGraphGenerator.kt index 8d6d9b74..78de75ba 100644 --- a/project-generator/src/main/kotlin/io/github/cdsap/projectgenerator/ProjectGraphGenerator.kt +++ b/project-generator/src/main/kotlin/io/github/cdsap/projectgenerator/ProjectGraphGenerator.kt @@ -13,7 +13,7 @@ class ProjectGraphGenerator( private val typeOfProjectRequested: TypeProjectRequested, private val classesPerModule: ClassesPerModule ) { - fun generate(): MutableList { + fun generate(): List { var generalCounter = 0 var oldLayer = 0 val nodes = mutableListOf() diff --git a/project-generator/src/test/kotlin/io/github/cdsap/projectgenerator/ProjectGraphGeneratorTest.kt b/project-generator/src/test/kotlin/io/github/cdsap/projectgenerator/ProjectGraphGeneratorTest.kt index e13ccd4f..2b956375 100644 --- a/project-generator/src/test/kotlin/io/github/cdsap/projectgenerator/ProjectGraphGeneratorTest.kt +++ b/project-generator/src/test/kotlin/io/github/cdsap/projectgenerator/ProjectGraphGeneratorTest.kt @@ -2,6 +2,7 @@ package io.github.cdsap.projectgenerator import io.github.cdsap.projectgenerator.model.ClassesPerModule import io.github.cdsap.projectgenerator.model.ClassesPerModuleType +import io.github.cdsap.projectgenerator.model.ProjectGraph import io.github.cdsap.projectgenerator.model.Shape import io.github.cdsap.projectgenerator.model.TypeProjectRequested import org.junit.jupiter.api.Assertions.* @@ -11,6 +12,18 @@ import org.junit.jupiter.params.provider.EnumSource class ProjectGraphGeneratorTest { + @Test + fun `generated graph is consumed as a read-only result`() { + val nodes: List = ProjectGraphGenerator( + numberOfLayers = 1, + distribution = listOf(1), + typeOfProjectRequested = TypeProjectRequested.JVM, + classesPerModule = ClassesPerModule(ClassesPerModuleType.FIXED, 10) + ).generate() + + assertEquals(listOf("module_0_1", "module_1_2"), nodes.map { it.id }) + } + @ParameterizedTest @EnumSource(Shape::class) fun `generates every shape at the minimum module count`(shape: Shape) {