diff --git a/unit-core/src/main/kotlin/cc/unitmesh/core/completion/CompletionBuilder.kt b/unit-core/src/main/kotlin/cc/unitmesh/core/completion/CompletionBuilder.kt deleted file mode 100644 index 745254c0..00000000 --- a/unit-core/src/main/kotlin/cc/unitmesh/core/completion/CompletionBuilder.kt +++ /dev/null @@ -1,14 +0,0 @@ -package cc.unitmesh.core.completion - -import chapi.domain.core.CodeDataStruct -import chapi.domain.core.CodeFunction - -interface CompletionBuilder { - fun build(dataStruct: CodeDataStruct): List { - return listOf() - } - - fun build(function: CodeFunction): List -} - - diff --git a/unit-core/src/main/kotlin/cc/unitmesh/core/completion/TypedInsBuilder.kt b/unit-core/src/main/kotlin/cc/unitmesh/core/completion/TypedInsBuilder.kt new file mode 100644 index 00000000..8f5fc571 --- /dev/null +++ b/unit-core/src/main/kotlin/cc/unitmesh/core/completion/TypedInsBuilder.kt @@ -0,0 +1,87 @@ +package cc.unitmesh.core.completion + +import chapi.domain.core.CodeContainer +import chapi.domain.core.CodeDataStruct +import chapi.domain.core.CodeFunction + +/** + * TypedInsBuilder is an interface that allows for the construction of different types of completions based on the provided code. + * + * To use this interface, you need to implement it and override the build methods according to the desired completion type. + * The build methods return a list of TypedIns objects, which represent the generated completions. + * + * This interface provides three build methods: + * + * 1. build(container: CodeContainer): List + * - This method builds a list of TypedIns objects based on the provided CodeContainer. + * - It is suitable for file-level analysis, such as generating completions for documentation. + * - The CodeContainer parameter contains the data structures and functions to be analyzed. + * - The method returns a list of TypedIns objects representing the extracted comments from the CodeContainer. + * + * 2. build(dataStruct: CodeDataStruct): List + * - This method builds a list of TypedIns objects based on the given CodeDataStruct. + * - It is suitable for generating code related to the entire class. + * - The CodeDataStruct parameter represents the class to be analyzed. + * - The method returns a list of TypedIns objects generated based on the CodeDataStruct. + * + * 3. build(function: CodeFunction): List + * - This method builds a list of code completion instructions based on a given function. + * - It is suitable for generating code completions for inline and interline completion. + * - The CodeFunction parameter represents the function to be analyzed. + * - The method returns a list of CodeCompletionIns objects representing the code completion instructions. + * + * Note: The default implementation of these build methods returns an empty list. + * + * Example usage: + * + * ```kotlin + * val builder = MyTypedInsBuilder() + * val container = CodeContainer(...) + * val completions = builder.build(container) + * ``` + */ +interface TypedInsBuilder { + /** + * Builds a list of TypedIns objects based on the provided CodeContainer. + * This method is suitable for file-level analysis, such as: + * + * - [CompletionBuilderType.DOCUMENTATION] + * + * @param container The CodeContainer containing the data structures and functions to be analyzed. + * @return A list of TypedIns objects representing the comments extracted from the CodeContainer. + */ + fun build(container: CodeContainer): List { + return listOf() + } + + /** + * Builds a list of TypedIns objects based on the given CodeDataStruct. + * This method is suitable for generating code related to the entire class, such as: + * + * - [CompletionBuilderType.TEST_CODE_GEN] + * + * @param dataStruct The CodeDataStruct object representing the class to be analyzed. + * @return A list of TypedIns objects generated based on the CodeDataStruct. + */ + fun build(dataStruct: CodeDataStruct): List { + return listOf() + } + + /** + * Builds a list of code completion instructions based on a given function. + * + * @param function The CodeFunction object representing the function to be analyzed. + * @return A list of CodeCompletionIns objects representing the code completion instructions. + * + * This method is suitable for generating code completions for inline and interline completion, such as : + * + * - [CompletionBuilderType.INLINE_COMPLETION] + * - [CompletionBuilderType.IN_BLOCK_COMPLETION] + * - [CompletionBuilderType.AFTER_BLOCK_COMPLETION] + */ + fun build(function: CodeFunction): List { + return listOf() + } +} + + diff --git a/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/DocumentationCompletionBuilder.kt b/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/DocumentationCompletionBuilder.kt deleted file mode 100644 index 0ceb66f5..00000000 --- a/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/DocumentationCompletionBuilder.kt +++ /dev/null @@ -1,18 +0,0 @@ -package cc.unitmesh.pick.builder - -import cc.unitmesh.core.completion.CodeCompletionIns -import cc.unitmesh.core.completion.CompletionBuilder -import cc.unitmesh.core.completion.TypedIns -import cc.unitmesh.pick.worker.job.JobContext -import chapi.domain.core.CodeDataStruct -import chapi.domain.core.CodeFunction - -class DocumentationCompletionBuilder(val context: JobContext) : CompletionBuilder { - override fun build(dataStruct: CodeDataStruct): List { - return listOf() - } - - override fun build(function: CodeFunction): List { - return listOf() - } -} diff --git a/unit-picker/src/main/kotlin/cc/unitmesh/pick/strategy/bizcode/CommentsStrategyBuilder.kt b/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/DocumentationTypedInsBuilder.kt similarity index 60% rename from unit-picker/src/main/kotlin/cc/unitmesh/pick/strategy/bizcode/CommentsStrategyBuilder.kt rename to unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/DocumentationTypedInsBuilder.kt index 1dec6ba7..85f88953 100644 --- a/unit-picker/src/main/kotlin/cc/unitmesh/pick/strategy/bizcode/CommentsStrategyBuilder.kt +++ b/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/DocumentationTypedInsBuilder.kt @@ -1,20 +1,18 @@ -package cc.unitmesh.pick.strategy.bizcode +package cc.unitmesh.pick.builder import cc.unitmesh.core.SupportedLang +import cc.unitmesh.core.completion.CodeCompletionIns import cc.unitmesh.core.completion.TypedIns +import cc.unitmesh.core.completion.TypedInsBuilder import cc.unitmesh.pick.builder.comment.KotlinCommentBuilder -import cc.unitmesh.pick.strategy.base.CodeStrategyBuilder import cc.unitmesh.pick.worker.job.JobContext +import chapi.domain.core.CodeContainer +import chapi.domain.core.CodeFunction -/** - * 对于其它不需要上下文的 AI 能力,需要实现一个空的上下文策略,如注释生成。 - */ -class CommentsStrategyBuilder(val context: JobContext) : CodeStrategyBuilder { +class DocumentationTypedInsBuilder(val context: JobContext) : TypedInsBuilder { private val kotlinCommentBuilder = KotlinCommentBuilder() - override fun build(): List { - val container = context.job.container ?: return emptyList() - + override fun build(container: CodeContainer): List { val language = context.project.language return when (language) { SupportedLang.JAVA -> kotlinCommentBuilder.build(context.job.code, container) diff --git a/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/InsBuilderUtil.kt b/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/InsBuilderUtil.kt index 9b90a176..8c279cc8 100644 --- a/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/InsBuilderUtil.kt +++ b/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/InsBuilderUtil.kt @@ -1,28 +1,28 @@ package cc.unitmesh.pick.builder -import cc.unitmesh.core.completion.CompletionBuilder +import cc.unitmesh.core.completion.TypedInsBuilder import cc.unitmesh.core.completion.CompletionBuilderType import cc.unitmesh.core.unittest.TestCodeBuilder import cc.unitmesh.core.unittest.TestCodeBuilderType -import cc.unitmesh.pick.builder.bizcode.AfterBlockCodeCompletionBuilder -import cc.unitmesh.pick.builder.bizcode.InBlockCodeCompletionBuilder -import cc.unitmesh.pick.builder.bizcode.InlineCodeCompletionBuilder +import cc.unitmesh.pick.builder.bizcode.AfterBlockCodeTypedInsBuilder +import cc.unitmesh.pick.builder.bizcode.InBlockCodeTypedInsBuilder +import cc.unitmesh.pick.builder.bizcode.InlineCodeTypedInsBuilder import cc.unitmesh.pick.builder.unittest.java.ClassTestCodeBuilder import cc.unitmesh.pick.builder.unittest.java.JavaMethodTestCodeBuilder import cc.unitmesh.pick.worker.job.JobContext import kotlinx.serialization.SerializationException -fun completionBuilders(types: List, context: JobContext) : List { +fun completionBuilders(types: List, context: JobContext) : List { return types.map { completionBuilder(it, context) } } -fun completionBuilder(completionBuilderType: CompletionBuilderType, context: JobContext): CompletionBuilder { +fun completionBuilder(completionBuilderType: CompletionBuilderType, context: JobContext): TypedInsBuilder { return mapOf( - CompletionBuilderType.INLINE_COMPLETION to InlineCodeCompletionBuilder(context), - CompletionBuilderType.IN_BLOCK_COMPLETION to InBlockCodeCompletionBuilder(context), - CompletionBuilderType.AFTER_BLOCK_COMPLETION to AfterBlockCodeCompletionBuilder(context), - CompletionBuilderType.TEST_CODE_GEN to TestCodeCompletionBuilder(context), - CompletionBuilderType.DOCUMENTATION to DocumentationCompletionBuilder(context), + CompletionBuilderType.INLINE_COMPLETION to InlineCodeTypedInsBuilder(context), + CompletionBuilderType.IN_BLOCK_COMPLETION to InBlockCodeTypedInsBuilder(context), + CompletionBuilderType.AFTER_BLOCK_COMPLETION to AfterBlockCodeTypedInsBuilder(context), + CompletionBuilderType.TEST_CODE_GEN to TestCodeTypedInsBuilder(context), + CompletionBuilderType.DOCUMENTATION to DocumentationTypedInsBuilder(context), )[completionBuilderType] ?: throw SerializationException("Unknown message type: $completionBuilderType") } diff --git a/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/TestCodeCompletionBuilder.kt b/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/TestCodeTypedInsBuilder.kt similarity index 83% rename from unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/TestCodeCompletionBuilder.kt rename to unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/TestCodeTypedInsBuilder.kt index d756c170..5ded9c40 100644 --- a/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/TestCodeCompletionBuilder.kt +++ b/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/TestCodeTypedInsBuilder.kt @@ -1,14 +1,14 @@ package cc.unitmesh.pick.builder import cc.unitmesh.core.completion.CodeCompletionIns -import cc.unitmesh.core.completion.CompletionBuilder +import cc.unitmesh.core.completion.TypedInsBuilder import cc.unitmesh.core.completion.TypedIns import cc.unitmesh.pick.builder.unittest.base.UnitTestService import cc.unitmesh.pick.worker.job.JobContext import chapi.domain.core.CodeDataStruct import chapi.domain.core.CodeFunction -class TestCodeCompletionBuilder(val context: JobContext) : CompletionBuilder { +class TestCodeTypedInsBuilder(val context: JobContext) : TypedInsBuilder { override fun build(dataStruct: CodeDataStruct): List { val testIns = UnitTestService.lookup(dataStruct, context).map { it.build(dataStruct) diff --git a/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/bizcode/AfterBlockCodeCompletionBuilder.kt b/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/bizcode/AfterBlockCodeTypedInsBuilder.kt similarity index 87% rename from unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/bizcode/AfterBlockCodeCompletionBuilder.kt rename to unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/bizcode/AfterBlockCodeTypedInsBuilder.kt index c5c4d7e4..4ab87a0b 100644 --- a/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/bizcode/AfterBlockCodeCompletionBuilder.kt +++ b/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/bizcode/AfterBlockCodeTypedInsBuilder.kt @@ -1,13 +1,13 @@ package cc.unitmesh.pick.builder.bizcode import cc.unitmesh.core.completion.CodeCompletionIns -import cc.unitmesh.core.completion.CompletionBuilder +import cc.unitmesh.core.completion.TypedInsBuilder import cc.unitmesh.core.completion.CompletionBuilderType import cc.unitmesh.pick.worker.job.JobContext import chapi.domain.core.CodeFunction -class AfterBlockCodeCompletionBuilder(val context: JobContext) : CompletionBuilder { +class AfterBlockCodeTypedInsBuilder(val context: JobContext) : TypedInsBuilder { override fun build(function: CodeFunction): List { val position = function.Position val codeLines = context.job.codeLines diff --git a/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/bizcode/InBlockCodeCompletionBuilder.kt b/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/bizcode/InBlockCodeTypedInsBuilder.kt similarity index 85% rename from unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/bizcode/InBlockCodeCompletionBuilder.kt rename to unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/bizcode/InBlockCodeTypedInsBuilder.kt index 04c3b83c..8a8bda66 100644 --- a/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/bizcode/InBlockCodeCompletionBuilder.kt +++ b/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/bizcode/InBlockCodeTypedInsBuilder.kt @@ -1,12 +1,12 @@ package cc.unitmesh.pick.builder.bizcode import cc.unitmesh.core.completion.CodeCompletionIns -import cc.unitmesh.core.completion.CompletionBuilder +import cc.unitmesh.core.completion.TypedInsBuilder import cc.unitmesh.core.completion.CompletionBuilderType import cc.unitmesh.pick.worker.job.JobContext import chapi.domain.core.CodeFunction -class InBlockCodeCompletionBuilder(val context: JobContext) : CompletionBuilder { +class InBlockCodeTypedInsBuilder(val context: JobContext) : TypedInsBuilder { override fun build(function: CodeFunction): List { val position = function.Position val beforeCursor = context.job.codeLines.subList(0, position.StartLine).joinToString("\n") diff --git a/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/bizcode/InlineCodeCompletionBuilder.kt b/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/bizcode/InlineCodeTypedInsBuilder.kt similarity index 94% rename from unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/bizcode/InlineCodeCompletionBuilder.kt rename to unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/bizcode/InlineCodeTypedInsBuilder.kt index 236e316f..d12feb0c 100644 --- a/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/bizcode/InlineCodeCompletionBuilder.kt +++ b/unit-picker/src/main/kotlin/cc/unitmesh/pick/builder/bizcode/InlineCodeTypedInsBuilder.kt @@ -1,12 +1,12 @@ package cc.unitmesh.pick.builder.bizcode import cc.unitmesh.core.completion.CodeCompletionIns -import cc.unitmesh.core.completion.CompletionBuilder +import cc.unitmesh.core.completion.TypedInsBuilder import cc.unitmesh.core.completion.CompletionBuilderType import cc.unitmesh.pick.worker.job.JobContext import chapi.domain.core.CodeFunction -class InlineCodeCompletionBuilder(val context: JobContext) : CompletionBuilder { +class InlineCodeTypedInsBuilder(val context: JobContext) : TypedInsBuilder { private fun isValidTypeOver(char: Char): Boolean { return char == ')' || char == ']' || char == '}' || char == '"' || char == '\'' || char == '>' || char == ';' || char == ',' } diff --git a/unit-picker/src/main/kotlin/cc/unitmesh/pick/option/InsPickerOption.kt b/unit-picker/src/main/kotlin/cc/unitmesh/pick/option/InsPickerOption.kt index 472a9585..1c95008d 100644 --- a/unit-picker/src/main/kotlin/cc/unitmesh/pick/option/InsPickerOption.kt +++ b/unit-picker/src/main/kotlin/cc/unitmesh/pick/option/InsPickerOption.kt @@ -60,9 +60,8 @@ data class InsPickerOption( * */ val buildPlan: List = listOf( -// BuildPlanType.RELATED_CODE, -// BuildPlanType.SIMILAR_CHUNKS, - BuildPlanType.COMMENT, + BuildPlanType.RELATED_CODE, + BuildPlanType.SIMILAR_CHUNKS, ), /** * The [CompletionBuilderType], which will according you IDE strategy to generate the type. diff --git a/unit-picker/src/main/kotlin/cc/unitmesh/pick/strategy/BuildPlanType.kt b/unit-picker/src/main/kotlin/cc/unitmesh/pick/strategy/BuildPlanType.kt index 80383c1f..ee202689 100644 --- a/unit-picker/src/main/kotlin/cc/unitmesh/pick/strategy/BuildPlanType.kt +++ b/unit-picker/src/main/kotlin/cc/unitmesh/pick/strategy/BuildPlanType.kt @@ -1,7 +1,6 @@ package cc.unitmesh.pick.strategy import cc.unitmesh.pick.strategy.base.CodeStrategyBuilder -import cc.unitmesh.pick.strategy.bizcode.CommentsStrategyBuilder import cc.unitmesh.pick.strategy.bizcode.RelatedCodeStrategyBuilder import cc.unitmesh.pick.strategy.bizcode.SimilarChunksStrategyBuilder import cc.unitmesh.pick.worker.job.JobContext @@ -29,19 +28,13 @@ enum class BuildPlanType { /** * the AutoDev with pre-build context */ - RELATED_CODE, - - /** - * the AutoDev with pre-build context - */ - COMMENT + RELATED_CODE ; fun builder(context: JobContext): CodeStrategyBuilder { return mapOf( SIMILAR_CHUNKS to SimilarChunksStrategyBuilder(context), RELATED_CODE to RelatedCodeStrategyBuilder(context), - COMMENT to CommentsStrategyBuilder(context), )[this] ?: throw SerializationException("Unknown message type: $this") } } diff --git a/unit-picker/src/main/kotlin/cc/unitmesh/pick/strategy/bizcode/RelatedCodeStrategyBuilder.kt b/unit-picker/src/main/kotlin/cc/unitmesh/pick/strategy/bizcode/RelatedCodeStrategyBuilder.kt index 799f4a6d..40e288b2 100644 --- a/unit-picker/src/main/kotlin/cc/unitmesh/pick/strategy/bizcode/RelatedCodeStrategyBuilder.kt +++ b/unit-picker/src/main/kotlin/cc/unitmesh/pick/strategy/bizcode/RelatedCodeStrategyBuilder.kt @@ -47,11 +47,15 @@ class RelatedCodeStrategyBuilder(private val context: JobContext) : CodeStrategy // 3. build completion instruction val builders = completionBuilders(context.completionBuilderTypes, context) + builders.asSequence().forEach { + it.build(container) + } val codeCompletionIns = dataStructs.map { ds -> val blockIns = builders.asSequence().map { it.build(ds) }.flatten() + val functionsIns = ds.Functions.map { function -> builders.asSequence().map { it.build(function) diff --git a/unit-picker/src/main/kotlin/cc/unitmesh/pick/strategy/bizcode/SimilarChunksStrategyBuilder.kt b/unit-picker/src/main/kotlin/cc/unitmesh/pick/strategy/bizcode/SimilarChunksStrategyBuilder.kt index 5281b1d8..961d046a 100644 --- a/unit-picker/src/main/kotlin/cc/unitmesh/pick/strategy/bizcode/SimilarChunksStrategyBuilder.kt +++ b/unit-picker/src/main/kotlin/cc/unitmesh/pick/strategy/bizcode/SimilarChunksStrategyBuilder.kt @@ -47,6 +47,9 @@ class SimilarChunksStrategyBuilder(private val context: JobContext) : CodeStrate } val builders = completionBuilders(context.completionBuilderTypes, context) + builders.asSequence().forEach { + it.build(container) + } // 2. collect all with similar data structure val codeCompletionIns = dataStructs.map { ds -> diff --git a/unit-picker/src/test/kotlin/cc/unitmesh/pick/SingleProjectCodePickerTest.kt b/unit-picker/src/test/kotlin/cc/unitmesh/pick/SingleProjectCodePickerTest.kt index b3666533..fb1c417c 100644 --- a/unit-picker/src/test/kotlin/cc/unitmesh/pick/SingleProjectCodePickerTest.kt +++ b/unit-picker/src/test/kotlin/cc/unitmesh/pick/SingleProjectCodePickerTest.kt @@ -39,7 +39,7 @@ class SingleProjectCodePickerTest { language = "kotlin", url = root, maxTokenLength = 8192, - buildPlan = listOf(BuildPlanType.COMMENT, BuildPlanType.RELATED_CODE), + buildPlan = listOf(BuildPlanType.RELATED_CODE), completionTypes = listOf( CompletionBuilderType.DOCUMENTATION, CompletionBuilderType.TEST_CODE_GEN ), diff --git a/unit-picker/src/test/kotlin/cc/unitmesh/pick/builder/bizcode/AfterBlockCodeCompletionBuilderTest.kt b/unit-picker/src/test/kotlin/cc/unitmesh/pick/builder/bizcode/AfterBlockCodeTypedInsBuilderTest.kt similarity index 93% rename from unit-picker/src/test/kotlin/cc/unitmesh/pick/builder/bizcode/AfterBlockCodeCompletionBuilderTest.kt rename to unit-picker/src/test/kotlin/cc/unitmesh/pick/builder/bizcode/AfterBlockCodeTypedInsBuilderTest.kt index f4a9f50d..7f68fa18 100644 --- a/unit-picker/src/test/kotlin/cc/unitmesh/pick/builder/bizcode/AfterBlockCodeCompletionBuilderTest.kt +++ b/unit-picker/src/test/kotlin/cc/unitmesh/pick/builder/bizcode/AfterBlockCodeTypedInsBuilderTest.kt @@ -12,7 +12,7 @@ import io.kotest.matchers.shouldBe import org.archguard.scanner.analyser.count.FileJob import org.junit.jupiter.api.Test -class AfterBlockCodeCompletionBuilderTest { +class AfterBlockCodeTypedInsBuilderTest { @Test fun should_success_split_after_block_code() { @@ -39,7 +39,7 @@ class AfterBlockCodeCompletionBuilderTest { 3, insQualityThreshold = InsQualityThreshold() ) - val builder = AfterBlockCodeCompletionBuilder(jobContext) + val builder = AfterBlockCodeTypedInsBuilder(jobContext) val result = builder.build(codeFunction) diff --git a/unit-picker/src/test/kotlin/cc/unitmesh/pick/builder/bizcode/InBlockCodeCompletionBuilderTest.kt b/unit-picker/src/test/kotlin/cc/unitmesh/pick/builder/bizcode/InBlockCodeTypedInsBuilderTest.kt similarity index 94% rename from unit-picker/src/test/kotlin/cc/unitmesh/pick/builder/bizcode/InBlockCodeCompletionBuilderTest.kt rename to unit-picker/src/test/kotlin/cc/unitmesh/pick/builder/bizcode/InBlockCodeTypedInsBuilderTest.kt index dd8ae2dd..a5247bcc 100644 --- a/unit-picker/src/test/kotlin/cc/unitmesh/pick/builder/bizcode/InBlockCodeCompletionBuilderTest.kt +++ b/unit-picker/src/test/kotlin/cc/unitmesh/pick/builder/bizcode/InBlockCodeTypedInsBuilderTest.kt @@ -12,7 +12,7 @@ import io.kotest.matchers.shouldBe import org.archguard.scanner.analyser.count.FileJob import org.junit.jupiter.api.Test -class InBlockCodeCompletionBuilderTest { +class InBlockCodeTypedInsBuilderTest { @Test fun should_return_single_CodeCompletionIns() { @@ -39,7 +39,7 @@ class InBlockCodeCompletionBuilderTest { 3, insQualityThreshold = InsQualityThreshold() ) - val builder = InBlockCodeCompletionBuilder(jobContext) + val builder = InBlockCodeTypedInsBuilder(jobContext) // when val result = builder.build(codeFunction) diff --git a/unit-picker/src/test/kotlin/cc/unitmesh/pick/builder/bizcode/InlineCodeCompletionBuilderTest.kt b/unit-picker/src/test/kotlin/cc/unitmesh/pick/builder/bizcode/InlineCodeTypedInsBuilderTest.kt similarity index 94% rename from unit-picker/src/test/kotlin/cc/unitmesh/pick/builder/bizcode/InlineCodeCompletionBuilderTest.kt rename to unit-picker/src/test/kotlin/cc/unitmesh/pick/builder/bizcode/InlineCodeTypedInsBuilderTest.kt index 451991f8..f7b51625 100644 --- a/unit-picker/src/test/kotlin/cc/unitmesh/pick/builder/bizcode/InlineCodeCompletionBuilderTest.kt +++ b/unit-picker/src/test/kotlin/cc/unitmesh/pick/builder/bizcode/InlineCodeTypedInsBuilderTest.kt @@ -12,7 +12,7 @@ import io.kotest.matchers.shouldBe import org.archguard.scanner.analyser.count.FileJob import org.junit.jupiter.api.Test -class InlineCodeCompletionBuilderTest { +class InlineCodeTypedInsBuilderTest { @Test fun should_return_list_of_code_completion_ins() { // Given @@ -39,7 +39,7 @@ class InlineCodeCompletionBuilderTest { 3, insQualityThreshold = InsQualityThreshold() ) - val builder = InlineCodeCompletionBuilder(jobContext) + val builder = InlineCodeTypedInsBuilder(jobContext) // When val result = builder.build(codeFunction)