From 2a73aaba4d279bb42ae4c8d0500ecb1d0bfbd00d Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Mon, 9 Nov 2020 11:45:24 +0300 Subject: [PATCH] [TEST-GEN] Move all generation data to `TestGroup.TestClass` --- .../tests/generator/TestGenerationDSL.kt | 20 ++++++++++--------- .../generator/generators/TestGenerator.kt | 12 ++--------- .../generators/impl/TestGeneratorImpl.kt | 13 ++++++------ 3 files changed, 19 insertions(+), 26 deletions(-) diff --git a/generators/test-generator/tests/org/jetbrains/kotlin/generators/tests/generator/TestGenerationDSL.kt b/generators/test-generator/tests/org/jetbrains/kotlin/generators/tests/generator/TestGenerationDSL.kt index 9e5fa863078..9d8b5b5d1a3 100644 --- a/generators/test-generator/tests/org/jetbrains/kotlin/generators/tests/generator/TestGenerationDSL.kt +++ b/generators/test-generator/tests/org/jetbrains/kotlin/generators/tests/generator/TestGenerationDSL.kt @@ -39,20 +39,22 @@ class TestGroup( annotations: List = emptyList(), init: TestClass.() -> Unit ) { - val generationData = TestGenerator.GenerationData( - testsRoot, - suiteTestClassName, - baseTestClassName, - TestClass(annotations).apply(init).testModels, - useJunit4, - ) - val (changed, testSourceFilePath) = TestGeneratorImpl.generateAndSave(generationData, dryRun) + val testClass = TestClass(baseTestClassName, suiteTestClassName, useJunit4, annotations).apply(init) + val (changed, testSourceFilePath) = TestGeneratorImpl.generateAndSave(testClass, dryRun) if (changed) { inconsistencyChecker(dryRun).add(testSourceFilePath) } } - inner class TestClass(val annotations: List) { + inner class TestClass( + val baseTestClassName: String, + val suiteTestClassName: String, + val useJunit4: Boolean, + val annotations: List + ) { + val baseDir: String + get() = this@TestGroup.testsRoot + val testModels = ArrayList() fun model( diff --git a/generators/test-generator/tests/org/jetbrains/kotlin/generators/tests/generator/generators/TestGenerator.kt b/generators/test-generator/tests/org/jetbrains/kotlin/generators/tests/generator/generators/TestGenerator.kt index 5c717493a36..f7f80dc2be6 100644 --- a/generators/test-generator/tests/org/jetbrains/kotlin/generators/tests/generator/generators/TestGenerator.kt +++ b/generators/test-generator/tests/org/jetbrains/kotlin/generators/tests/generator/generators/TestGenerator.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.generators.tests.generator.generators import org.jetbrains.kotlin.generators.tests.generator.MethodModel -import org.jetbrains.kotlin.generators.tests.generator.TestClassModel +import org.jetbrains.kotlin.generators.tests.generator.TestGroup abstract class TestGenerator( methodGenerators: List> @@ -14,15 +14,7 @@ abstract class TestGenerator( protected val methodGenerators: Map> = methodGenerators.associateBy { it.kind }.withDefault { error("Generator for method with kind $it not found") } - abstract fun generateAndSave(data: GenerationData, dryRun: Boolean): GenerationResult - - data class GenerationData( - val baseDir: String, - val suiteTestClassFqName: String, - val baseTestClassFqName: String, - val testClassModels: Collection, - val useJunit4: Boolean - ) + abstract fun generateAndSave(testClass: TestGroup.TestClass, dryRun: Boolean): GenerationResult data class GenerationResult(val newFileGenerated: Boolean, val testSourceFilePath: String) } diff --git a/generators/test-generator/tests/org/jetbrains/kotlin/generators/tests/generator/generators/impl/TestGeneratorImpl.kt b/generators/test-generator/tests/org/jetbrains/kotlin/generators/tests/generator/generators/impl/TestGeneratorImpl.kt index 31a25535eb6..c6f4b94aa46 100644 --- a/generators/test-generator/tests/org/jetbrains/kotlin/generators/tests/generator/generators/impl/TestGeneratorImpl.kt +++ b/generators/test-generator/tests/org/jetbrains/kotlin/generators/tests/generator/generators/impl/TestGeneratorImpl.kt @@ -28,14 +28,13 @@ private val METHOD_GENERATORS = listOf( ) object TestGeneratorImpl : TestGenerator(METHOD_GENERATORS) { - override fun generateAndSave(data: GenerationData, dryRun: Boolean): GenerationResult { - val (baseDir, suiteTestClassFqName, baseTestClassFqName, testClassModels, useJunit4) = data + override fun generateAndSave(testClass: TestGroup.TestClass, dryRun: Boolean): GenerationResult { val generatorInstance = TestGeneratorImplInstance( - baseDir, - suiteTestClassFqName, - baseTestClassFqName, - testClassModels, - useJunit4, + testClass.baseDir, + testClass.suiteTestClassName, + testClass.baseTestClassName, + testClass.testModels, + testClass.useJunit4, methodGenerators ) return generatorInstance.generateAndSave(dryRun)