From d8270b81becade947567ce8a4b585af3d21f2e09 Mon Sep 17 00:00:00 2001 From: Xanonymous Date: Wed, 31 Jul 2024 05:51:35 +0100 Subject: [PATCH] =?UTF-8?q?refactor:=20=F0=9F=92=A1=20move=20gumtree=20cre?= =?UTF-8?q?ation=20helper=20dsl=20to=20test=20package?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/src/test/kotlin/BasicTreeTest.kt | 2 +- core/src/test/kotlin/GumTreeTest.kt | 2 +- core/src/test/kotlin/HashSimilarityOrganizerTest.kt | 2 +- core/src/test/kotlin/NonFrozenGumTreePoolTest.kt | 2 +- core/src/test/kotlin/SharedFunctionTest.kt | 2 +- .../kotlin/helpers}/GumTreeCreatorHelper.kt | 8 +++++++- core/src/test/kotlin/matchers/RealWorldTrees.kt | 2 +- .../test/kotlin/matchers/TopDownMatcherOnlyRootTest.kt | 2 +- core/src/test/kotlin/matchers/TopDownMatcherTest1.kt | 2 +- core/src/test/kotlin/matchers/TopDownMatcherTest2.kt | 2 +- 10 files changed, 16 insertions(+), 10 deletions(-) rename core/src/{main/kotlin/tw/xcc/gumtree/helper => test/kotlin/helpers}/GumTreeCreatorHelper.kt (93%) diff --git a/core/src/test/kotlin/BasicTreeTest.kt b/core/src/test/kotlin/BasicTreeTest.kt index 461b8f6..4e2eda4 100644 --- a/core/src/test/kotlin/BasicTreeTest.kt +++ b/core/src/test/kotlin/BasicTreeTest.kt @@ -1,7 +1,7 @@ +import helpers.gumTree import org.junit.jupiter.api.assertDoesNotThrow import org.junit.jupiter.api.parallel.Execution import org.junit.jupiter.api.parallel.ExecutionMode -import tw.xcc.gumtree.helper.gumTree import tw.xcc.gumtree.model.BasicTree import java.util.UUID import kotlin.test.BeforeTest diff --git a/core/src/test/kotlin/GumTreeTest.kt b/core/src/test/kotlin/GumTreeTest.kt index 97734b3..c3bedf3 100644 --- a/core/src/test/kotlin/GumTreeTest.kt +++ b/core/src/test/kotlin/GumTreeTest.kt @@ -1,6 +1,6 @@ +import helpers.gumTree import org.junit.jupiter.api.parallel.Execution import org.junit.jupiter.api.parallel.ExecutionMode -import tw.xcc.gumtree.helper.gumTree import tw.xcc.gumtree.model.GumTree import tw.xcc.gumtree.model.TreeType import kotlin.test.BeforeTest diff --git a/core/src/test/kotlin/HashSimilarityOrganizerTest.kt b/core/src/test/kotlin/HashSimilarityOrganizerTest.kt index 6b917b1..855ca65 100644 --- a/core/src/test/kotlin/HashSimilarityOrganizerTest.kt +++ b/core/src/test/kotlin/HashSimilarityOrganizerTest.kt @@ -1,9 +1,9 @@ +import helpers.gumTree import kotlinx.coroutines.runBlocking import org.junit.jupiter.api.parallel.Execution import org.junit.jupiter.api.parallel.ExecutionMode import tw.xcc.gumtree.helper.createHashMemoOf import tw.xcc.gumtree.helper.crossProductOf -import tw.xcc.gumtree.helper.gumTree import tw.xcc.gumtree.matchers.HashSimilarityOrganizer import kotlin.test.BeforeTest import kotlin.test.Test diff --git a/core/src/test/kotlin/NonFrozenGumTreePoolTest.kt b/core/src/test/kotlin/NonFrozenGumTreePoolTest.kt index b9861e4..ec917bf 100644 --- a/core/src/test/kotlin/NonFrozenGumTreePoolTest.kt +++ b/core/src/test/kotlin/NonFrozenGumTreePoolTest.kt @@ -1,7 +1,7 @@ +import helpers.gumTree import org.junit.jupiter.api.assertThrows import org.junit.jupiter.api.parallel.Execution import org.junit.jupiter.api.parallel.ExecutionMode -import tw.xcc.gumtree.helper.gumTree import tw.xcc.gumtree.model.NonFrozenGumTreeCachePool import kotlin.test.BeforeTest import kotlin.test.Test diff --git a/core/src/test/kotlin/SharedFunctionTest.kt b/core/src/test/kotlin/SharedFunctionTest.kt index ccad3c9..8c97665 100644 --- a/core/src/test/kotlin/SharedFunctionTest.kt +++ b/core/src/test/kotlin/SharedFunctionTest.kt @@ -1,6 +1,6 @@ +import helpers.gumTree import org.junit.jupiter.api.parallel.Execution import org.junit.jupiter.api.parallel.ExecutionMode -import tw.xcc.gumtree.helper.gumTree import tw.xcc.gumtree.matchers.comparator.calculateDiceValue import tw.xcc.gumtree.matchers.comparator.hasSameParent import tw.xcc.gumtree.matchers.comparator.numOfMappedDescendents diff --git a/core/src/main/kotlin/tw/xcc/gumtree/helper/GumTreeCreatorHelper.kt b/core/src/test/kotlin/helpers/GumTreeCreatorHelper.kt similarity index 93% rename from core/src/main/kotlin/tw/xcc/gumtree/helper/GumTreeCreatorHelper.kt rename to core/src/test/kotlin/helpers/GumTreeCreatorHelper.kt index bb1867e..816ef91 100644 --- a/core/src/main/kotlin/tw/xcc/gumtree/helper/GumTreeCreatorHelper.kt +++ b/core/src/test/kotlin/helpers/GumTreeCreatorHelper.kt @@ -1,14 +1,17 @@ -package tw.xcc.gumtree.helper +package helpers +import org.jetbrains.annotations.TestOnly import tw.xcc.gumtree.model.GumTree import tw.xcc.gumtree.model.TreeType import kotlin.contracts.ExperimentalContracts import kotlin.contracts.InvocationKind import kotlin.contracts.contract +@TestOnly @DslMarker internal annotation class GumTreeMarker +@TestOnly @OptIn(ExperimentalContracts::class) @GumTreeMarker internal class GumTreeBuilder( @@ -19,6 +22,7 @@ internal class GumTreeBuilder( ) { private val root by lazy { GumTree(TreeType(grammarName), label, pos, length) } + @TestOnly internal inline fun child( grammarName: String, label: String = "", @@ -36,6 +40,7 @@ internal class GumTreeBuilder( return builder.build().also { root.addChild(it) } } + @TestOnly internal fun child( grammarName: String, label: String = "", @@ -46,6 +51,7 @@ internal class GumTreeBuilder( internal fun build(): GumTree = root } +@TestOnly @OptIn(ExperimentalContracts::class) internal inline fun gumTree( grammarName: String, diff --git a/core/src/test/kotlin/matchers/RealWorldTrees.kt b/core/src/test/kotlin/matchers/RealWorldTrees.kt index 26febb5..887edf4 100644 --- a/core/src/test/kotlin/matchers/RealWorldTrees.kt +++ b/core/src/test/kotlin/matchers/RealWorldTrees.kt @@ -1,6 +1,6 @@ package matchers -import tw.xcc.gumtree.helper.gumTree +import helpers.gumTree /** * The real-world tree 1. diff --git a/core/src/test/kotlin/matchers/TopDownMatcherOnlyRootTest.kt b/core/src/test/kotlin/matchers/TopDownMatcherOnlyRootTest.kt index 9f3d2cd..12c79f9 100644 --- a/core/src/test/kotlin/matchers/TopDownMatcherOnlyRootTest.kt +++ b/core/src/test/kotlin/matchers/TopDownMatcherOnlyRootTest.kt @@ -1,9 +1,9 @@ package matchers +import helpers.gumTree import kotlinx.coroutines.runBlocking import org.junit.jupiter.api.parallel.Execution import org.junit.jupiter.api.parallel.ExecutionMode -import tw.xcc.gumtree.helper.gumTree import tw.xcc.gumtree.matchers.GreedyTopDownMatcher import tw.xcc.gumtree.model.MappingStorage import kotlin.test.BeforeTest diff --git a/core/src/test/kotlin/matchers/TopDownMatcherTest1.kt b/core/src/test/kotlin/matchers/TopDownMatcherTest1.kt index 9973996..5736225 100644 --- a/core/src/test/kotlin/matchers/TopDownMatcherTest1.kt +++ b/core/src/test/kotlin/matchers/TopDownMatcherTest1.kt @@ -1,9 +1,9 @@ package matchers +import helpers.gumTree import kotlinx.coroutines.runBlocking import org.junit.jupiter.api.parallel.Execution import org.junit.jupiter.api.parallel.ExecutionMode -import tw.xcc.gumtree.helper.gumTree import tw.xcc.gumtree.matchers.GreedyTopDownMatcher import tw.xcc.gumtree.model.GumTree import tw.xcc.gumtree.model.MappingStorage diff --git a/core/src/test/kotlin/matchers/TopDownMatcherTest2.kt b/core/src/test/kotlin/matchers/TopDownMatcherTest2.kt index f5e8905..86f85e9 100644 --- a/core/src/test/kotlin/matchers/TopDownMatcherTest2.kt +++ b/core/src/test/kotlin/matchers/TopDownMatcherTest2.kt @@ -1,9 +1,9 @@ package matchers +import helpers.gumTree import kotlinx.coroutines.runBlocking import org.junit.jupiter.api.parallel.Execution import org.junit.jupiter.api.parallel.ExecutionMode -import tw.xcc.gumtree.helper.gumTree import tw.xcc.gumtree.matchers.GreedyTopDownMatcher import tw.xcc.gumtree.model.GumTree import tw.xcc.gumtree.model.MappingStorage