[SLC] make inheritors testData more human-readable
This commit is contained in:
committed by
Space Team
parent
69d308edac
commit
66dc7a3168
+5
-5
@@ -1,5 +1,5 @@
|
|||||||
one.MyAnnotationClass|java.lang.annotation.Annotation|false| -> true
|
subClass: one.MyAnnotationClass, superClass: java.lang.annotation.Annotation, deepSearch: false -> true
|
||||||
one.MyAnnotationClass|java.lang.annotation.Annotation|true| -> true
|
subClass: one.MyAnnotationClass, superClass: java.lang.annotation.Annotation, deepSearch: true -> true
|
||||||
one.MyAnnotationClass|java.lang.Object|false| -> true
|
subClass: one.MyAnnotationClass, superClass: java.lang.Object, deepSearch: false -> true
|
||||||
one.MyAnnotationClass|java.lang.Object|true| -> true
|
subClass: one.MyAnnotationClass, superClass: java.lang.Object, deepSearch: true -> true
|
||||||
one.MyAnnotationClass|java.util.Collection|true| -> false
|
subClass: one.MyAnnotationClass, superClass: java.util.Collection, deepSearch: true -> false
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
cba.ChildOfOpen|cba.OpenClassFromAbstractClass|false| -> true
|
subClass: cba.ChildOfOpen, superClass: cba.OpenClassFromAbstractClass, deepSearch: false -> true
|
||||||
cba.ChildOfOpen|cba.OpenClassFromAbstractClass|true| -> true
|
subClass: cba.ChildOfOpen, superClass: cba.OpenClassFromAbstractClass, deepSearch: true -> true
|
||||||
cba.ChildOfOpen|java.lang.Object|false| -> false
|
subClass: cba.ChildOfOpen, superClass: java.lang.Object, deepSearch: false -> false
|
||||||
cba.ChildOfOpen|java.lang.Object|true| -> true
|
subClass: cba.ChildOfOpen, superClass: java.lang.Object, deepSearch: true -> true
|
||||||
cba.ChildOfOpen|cba.AbstractClass|false| -> false
|
subClass: cba.ChildOfOpen, superClass: cba.AbstractClass, deepSearch: false -> false
|
||||||
cba.ChildOfOpen|cba.AbstractClass|true| -> true
|
subClass: cba.ChildOfOpen, superClass: cba.AbstractClass, deepSearch: true -> true
|
||||||
cba.OpenClassFromAbstractClass|cba.AbstractClass|false| -> true
|
subClass: cba.OpenClassFromAbstractClass, superClass: cba.AbstractClass, deepSearch: false -> true
|
||||||
cba.OpenClassFromAbstractClass|cba.AbstractClass|true| -> true
|
subClass: cba.OpenClassFromAbstractClass, superClass: cba.AbstractClass, deepSearch: true -> true
|
||||||
cba.OpenClassFromAbstractClass|cba.OpenClassFromAbstractClass|false| -> false
|
subClass: cba.OpenClassFromAbstractClass, superClass: cba.OpenClassFromAbstractClass, deepSearch: false -> false
|
||||||
cba.OpenClassFromAbstractClass|cba.OpenClassFromAbstractClass|true| -> false
|
subClass: cba.OpenClassFromAbstractClass, superClass: cba.OpenClassFromAbstractClass, deepSearch: true -> false
|
||||||
cba.OpenClassFromAbstractClass|cba.FinalClass|false| -> false
|
subClass: cba.OpenClassFromAbstractClass, superClass: cba.FinalClass, deepSearch: false -> false
|
||||||
cba.OpenClassFromAbstractClass|cba.FinalClass|true| -> false
|
subClass: cba.OpenClassFromAbstractClass, superClass: cba.FinalClass, deepSearch: true -> false
|
||||||
|
|||||||
+14
-14
@@ -1,14 +1,14 @@
|
|||||||
one.two.EnumEntries|java.lang.Object|false| -> false
|
subClass: one.two.EnumEntries, superClass: java.lang.Object, deepSearch: false -> false
|
||||||
one.two.EnumEntries|java.lang.Object|true| -> true
|
subClass: one.two.EnumEntries, superClass: java.lang.Object, deepSearch: true -> true
|
||||||
one.two.EnumEntries|java.lang.Enum|false| -> true
|
subClass: one.two.EnumEntries, superClass: java.lang.Enum, deepSearch: false -> true
|
||||||
one.two.EnumEntries|java.lang.Enum|true| -> true
|
subClass: one.two.EnumEntries, superClass: java.lang.Enum, deepSearch: true -> true
|
||||||
one.two.EnumEntries.SecondEntryWithBody|java.lang.Enum|false| -> false
|
subClass: one.two.EnumEntries.SecondEntryWithBody, superClass: java.lang.Enum, deepSearch: false -> false
|
||||||
one.two.EnumEntries.SecondEntryWithBody|java.lang.Enum|true| -> true
|
subClass: one.two.EnumEntries.SecondEntryWithBody, superClass: java.lang.Enum, deepSearch: true -> true
|
||||||
one.two.EnumEntries.SecondEntryWithBody|one.two.EnumEntries|false| -> true
|
subClass: one.two.EnumEntries.SecondEntryWithBody, superClass: one.two.EnumEntries, deepSearch: false -> true
|
||||||
one.two.EnumEntries.SecondEntryWithBody|one.two.EnumEntries|true| -> true
|
subClass: one.two.EnumEntries.SecondEntryWithBody, superClass: one.two.EnumEntries, deepSearch: true -> true
|
||||||
one.two.EnumEntries.SecondEntryWithBody|java.lang.Object|false| -> false
|
subClass: one.two.EnumEntries.SecondEntryWithBody, superClass: java.lang.Object, deepSearch: false -> false
|
||||||
one.two.EnumEntries.SecondEntryWithBody|java.lang.Object|true| -> true
|
subClass: one.two.EnumEntries.SecondEntryWithBody, superClass: java.lang.Object, deepSearch: true -> true
|
||||||
one.two.EnumEntries.SecondEntryWithBody|one.two.BaseInterface|false| -> false
|
subClass: one.two.EnumEntries.SecondEntryWithBody, superClass: one.two.BaseInterface, deepSearch: false -> false
|
||||||
one.two.EnumEntries.SecondEntryWithBody|one.two.BaseInterface|true| -> false
|
subClass: one.two.EnumEntries.SecondEntryWithBody, superClass: one.two.BaseInterface, deepSearch: true -> false
|
||||||
one.two.EnumClassWithInterface.NewSecondEntryWithBody|one.two.BaseInterface|false| -> false
|
subClass: one.two.EnumClassWithInterface.NewSecondEntryWithBody, superClass: one.two.BaseInterface, deepSearch: false -> false
|
||||||
one.two.EnumClassWithInterface.NewSecondEntryWithBody|one.two.BaseInterface|true| -> true
|
subClass: one.two.EnumClassWithInterface.NewSecondEntryWithBody, superClass: one.two.BaseInterface, deepSearch: true -> true
|
||||||
|
|||||||
@@ -1,22 +1,22 @@
|
|||||||
two.Object|java.lang.Object|false| -> true
|
subClass: two.Object, superClass: java.lang.Object, deepSearch: false -> true
|
||||||
two.Object|java.lang.Object|true| -> true
|
subClass: two.Object, superClass: java.lang.Object, deepSearch: true -> true
|
||||||
two.Object|two.BaseInterface|false| -> false
|
subClass: two.Object, superClass: two.BaseInterface, deepSearch: false -> false
|
||||||
two.Object|two.BaseInterface|true| -> false
|
subClass: two.Object, superClass: two.BaseInterface, deepSearch: true -> false
|
||||||
two.ObjectWithInterface|two.BaseInterface|false| -> true
|
subClass: two.ObjectWithInterface, superClass: two.BaseInterface, deepSearch: false -> true
|
||||||
two.ObjectWithInterface|two.BaseInterface|true| -> true
|
subClass: two.ObjectWithInterface, superClass: two.BaseInterface, deepSearch: true -> true
|
||||||
two.ObjectWithInterface|java.lang.Object|false| -> true
|
subClass: two.ObjectWithInterface, superClass: java.lang.Object, deepSearch: false -> true
|
||||||
two.ObjectWithInterface|java.lang.Object|true| -> true
|
subClass: two.ObjectWithInterface, superClass: java.lang.Object, deepSearch: true -> true
|
||||||
two.ObjectWithClassAndInterface|java.lang.Object|false| -> false
|
subClass: two.ObjectWithClassAndInterface, superClass: java.lang.Object, deepSearch: false -> false
|
||||||
two.ObjectWithClassAndInterface|java.lang.Object|true| -> true
|
subClass: two.ObjectWithClassAndInterface, superClass: java.lang.Object, deepSearch: true -> true
|
||||||
two.ObjectWithClassAndInterface|two.NonBaseClass|false| -> true
|
subClass: two.ObjectWithClassAndInterface, superClass: two.NonBaseClass, deepSearch: false -> true
|
||||||
two.ObjectWithClassAndInterface|two.NonBaseClass|true| -> true
|
subClass: two.ObjectWithClassAndInterface, superClass: two.NonBaseClass, deepSearch: true -> true
|
||||||
two.ObjectWithClassAndInterface|two.NonBaseInterface|false| -> true
|
subClass: two.ObjectWithClassAndInterface, superClass: two.NonBaseInterface, deepSearch: false -> true
|
||||||
two.ObjectWithClassAndInterface|two.NonBaseInterface|true| -> true
|
subClass: two.ObjectWithClassAndInterface, superClass: two.NonBaseInterface, deepSearch: true -> true
|
||||||
two.ObjectWithClassAndJavaInterface|java.lang.Object|false| -> false
|
subClass: two.ObjectWithClassAndJavaInterface, superClass: java.lang.Object, deepSearch: false -> false
|
||||||
two.ObjectWithClassAndJavaInterface|java.lang.Object|true| -> true
|
subClass: two.ObjectWithClassAndJavaInterface, superClass: java.lang.Object, deepSearch: true -> true
|
||||||
two.ObjectWithClassAndJavaInterface|two.NonBaseClass|false| -> true
|
subClass: two.ObjectWithClassAndJavaInterface, superClass: two.NonBaseClass, deepSearch: false -> true
|
||||||
two.ObjectWithClassAndJavaInterface|two.NonBaseClass|true| -> true
|
subClass: two.ObjectWithClassAndJavaInterface, superClass: two.NonBaseClass, deepSearch: true -> true
|
||||||
two.ObjectWithClassAndJavaInterface|two.NonBaseInterface|false| -> false
|
subClass: two.ObjectWithClassAndJavaInterface, superClass: two.NonBaseInterface, deepSearch: false -> false
|
||||||
two.ObjectWithClassAndJavaInterface|two.NonBaseInterface|true| -> false
|
subClass: two.ObjectWithClassAndJavaInterface, superClass: two.NonBaseInterface, deepSearch: true -> false
|
||||||
two.ObjectWithClassAndJavaInterface|java.lang.Runnable|false| -> true
|
subClass: two.ObjectWithClassAndJavaInterface, superClass: java.lang.Runnable, deepSearch: false -> true
|
||||||
two.ObjectWithClassAndJavaInterface|java.lang.Runnable|true| -> true
|
subClass: two.ObjectWithClassAndJavaInterface, superClass: java.lang.Runnable, deepSearch: true -> true
|
||||||
|
|||||||
+2
-2
@@ -1,2 +1,2 @@
|
|||||||
one.two.MyInterface.DefaultImpls|java.lang.Object|false| -> true
|
subClass: one.two.MyInterface.DefaultImpls, superClass: java.lang.Object, deepSearch: false -> true
|
||||||
one.two.MyInterface.DefaultImpls|java.lang.Object|true| -> true
|
subClass: one.two.MyInterface.DefaultImpls, superClass: java.lang.Object, deepSearch: true -> true
|
||||||
|
|||||||
+29
-7
@@ -25,6 +25,8 @@ import kotlin.io.path.forEachLine
|
|||||||
import kotlin.io.path.notExists
|
import kotlin.io.path.notExists
|
||||||
|
|
||||||
private const val INHERITORS_EXTENSION = "inheritors.txt"
|
private const val INHERITORS_EXTENSION = "inheritors.txt"
|
||||||
|
private const val PAIRS_DELIMITER = ", "
|
||||||
|
private const val VALUE_DELIMITER = ": "
|
||||||
|
|
||||||
abstract class AbstractSymbolLightClassesStructureTest(
|
abstract class AbstractSymbolLightClassesStructureTest(
|
||||||
configurator: AnalysisApiTestConfigurator,
|
configurator: AnalysisApiTestConfigurator,
|
||||||
@@ -60,12 +62,21 @@ abstract class AbstractSymbolLightClassesStructureTest(
|
|||||||
val queries = parseInheritorsFile(testData)
|
val queries = parseInheritorsFile(testData)
|
||||||
val result = buildString {
|
val result = buildString {
|
||||||
for (query in queries) {
|
for (query in queries) {
|
||||||
|
append("subClass")
|
||||||
|
append(VALUE_DELIMITER)
|
||||||
append(query.fqNameToCheck)
|
append(query.fqNameToCheck)
|
||||||
append('|')
|
append(PAIRS_DELIMITER)
|
||||||
|
|
||||||
|
append("superClass")
|
||||||
|
append(VALUE_DELIMITER)
|
||||||
append(query.baseFqName)
|
append(query.baseFqName)
|
||||||
append('|')
|
append(PAIRS_DELIMITER)
|
||||||
|
|
||||||
|
append("deepSearch")
|
||||||
|
append(VALUE_DELIMITER)
|
||||||
append(query.deep.toString())
|
append(query.deep.toString())
|
||||||
append("| -> ")
|
|
||||||
|
append(" -> ")
|
||||||
appendLine(query.isInheritor(project).toString())
|
appendLine(query.isInheritor(project).toString())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -89,10 +100,21 @@ abstract class AbstractSymbolLightClassesStructureTest(
|
|||||||
path.forEachLine { line: String ->
|
path.forEachLine { line: String ->
|
||||||
if (line.isBlank()) return@forEachLine
|
if (line.isBlank()) return@forEachLine
|
||||||
|
|
||||||
val arguments = line.split('|')
|
val arguments = line.split(PAIRS_DELIMITER)
|
||||||
val fqNameToCheck = arguments.getOrNull(0) ?: wrongInheritorStructure(line)
|
val fqNameToCheck = arguments.getOrNull(0)
|
||||||
val baseFqName = arguments.getOrNull(1) ?: wrongInheritorStructure(line)
|
?.substringAfter(VALUE_DELIMITER)
|
||||||
val deep = arguments.getOrNull(2)?.toBoolean() ?: wrongInheritorStructure(line)
|
?: wrongInheritorStructure(line)
|
||||||
|
|
||||||
|
val baseFqName = arguments.getOrNull(1)
|
||||||
|
?.substringAfter(VALUE_DELIMITER)
|
||||||
|
?: wrongInheritorStructure(line)
|
||||||
|
|
||||||
|
val deep = arguments.getOrNull(2)
|
||||||
|
?.substringAfter(VALUE_DELIMITER)
|
||||||
|
?.substringBefore(' ')
|
||||||
|
?.toBoolean()
|
||||||
|
?: wrongInheritorStructure(line)
|
||||||
|
|
||||||
add(InheritorStructure(fqNameToCheck = fqNameToCheck, baseFqName = baseFqName, deep = deep))
|
add(InheritorStructure(fqNameToCheck = fqNameToCheck, baseFqName = baseFqName, deep = deep))
|
||||||
}
|
}
|
||||||
}.toSet()
|
}.toSet()
|
||||||
|
|||||||
Reference in New Issue
Block a user