[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
|
||||
one.MyAnnotationClass|java.lang.annotation.Annotation|true| -> true
|
||||
one.MyAnnotationClass|java.lang.Object|false| -> true
|
||||
one.MyAnnotationClass|java.lang.Object|true| -> true
|
||||
one.MyAnnotationClass|java.util.Collection|true| -> false
|
||||
subClass: one.MyAnnotationClass, superClass: java.lang.annotation.Annotation, deepSearch: false -> true
|
||||
subClass: one.MyAnnotationClass, superClass: java.lang.annotation.Annotation, deepSearch: true -> true
|
||||
subClass: one.MyAnnotationClass, superClass: java.lang.Object, deepSearch: false -> true
|
||||
subClass: one.MyAnnotationClass, superClass: java.lang.Object, deepSearch: true -> true
|
||||
subClass: one.MyAnnotationClass, superClass: java.util.Collection, deepSearch: true -> false
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
cba.ChildOfOpen|cba.OpenClassFromAbstractClass|false| -> true
|
||||
cba.ChildOfOpen|cba.OpenClassFromAbstractClass|true| -> true
|
||||
cba.ChildOfOpen|java.lang.Object|false| -> false
|
||||
cba.ChildOfOpen|java.lang.Object|true| -> true
|
||||
cba.ChildOfOpen|cba.AbstractClass|false| -> false
|
||||
cba.ChildOfOpen|cba.AbstractClass|true| -> true
|
||||
cba.OpenClassFromAbstractClass|cba.AbstractClass|false| -> true
|
||||
cba.OpenClassFromAbstractClass|cba.AbstractClass|true| -> true
|
||||
cba.OpenClassFromAbstractClass|cba.OpenClassFromAbstractClass|false| -> false
|
||||
cba.OpenClassFromAbstractClass|cba.OpenClassFromAbstractClass|true| -> false
|
||||
cba.OpenClassFromAbstractClass|cba.FinalClass|false| -> false
|
||||
cba.OpenClassFromAbstractClass|cba.FinalClass|true| -> false
|
||||
subClass: cba.ChildOfOpen, superClass: cba.OpenClassFromAbstractClass, deepSearch: false -> true
|
||||
subClass: cba.ChildOfOpen, superClass: cba.OpenClassFromAbstractClass, deepSearch: true -> true
|
||||
subClass: cba.ChildOfOpen, superClass: java.lang.Object, deepSearch: false -> false
|
||||
subClass: cba.ChildOfOpen, superClass: java.lang.Object, deepSearch: true -> true
|
||||
subClass: cba.ChildOfOpen, superClass: cba.AbstractClass, deepSearch: false -> false
|
||||
subClass: cba.ChildOfOpen, superClass: cba.AbstractClass, deepSearch: true -> true
|
||||
subClass: cba.OpenClassFromAbstractClass, superClass: cba.AbstractClass, deepSearch: false -> true
|
||||
subClass: cba.OpenClassFromAbstractClass, superClass: cba.AbstractClass, deepSearch: true -> true
|
||||
subClass: cba.OpenClassFromAbstractClass, superClass: cba.OpenClassFromAbstractClass, deepSearch: false -> false
|
||||
subClass: cba.OpenClassFromAbstractClass, superClass: cba.OpenClassFromAbstractClass, deepSearch: true -> false
|
||||
subClass: cba.OpenClassFromAbstractClass, superClass: cba.FinalClass, deepSearch: false -> false
|
||||
subClass: cba.OpenClassFromAbstractClass, superClass: cba.FinalClass, deepSearch: true -> false
|
||||
|
||||
+14
-14
@@ -1,14 +1,14 @@
|
||||
one.two.EnumEntries|java.lang.Object|false| -> false
|
||||
one.two.EnumEntries|java.lang.Object|true| -> true
|
||||
one.two.EnumEntries|java.lang.Enum|false| -> true
|
||||
one.two.EnumEntries|java.lang.Enum|true| -> true
|
||||
one.two.EnumEntries.SecondEntryWithBody|java.lang.Enum|false| -> false
|
||||
one.two.EnumEntries.SecondEntryWithBody|java.lang.Enum|true| -> true
|
||||
one.two.EnumEntries.SecondEntryWithBody|one.two.EnumEntries|false| -> true
|
||||
one.two.EnumEntries.SecondEntryWithBody|one.two.EnumEntries|true| -> true
|
||||
one.two.EnumEntries.SecondEntryWithBody|java.lang.Object|false| -> false
|
||||
one.two.EnumEntries.SecondEntryWithBody|java.lang.Object|true| -> true
|
||||
one.two.EnumEntries.SecondEntryWithBody|one.two.BaseInterface|false| -> false
|
||||
one.two.EnumEntries.SecondEntryWithBody|one.two.BaseInterface|true| -> false
|
||||
one.two.EnumClassWithInterface.NewSecondEntryWithBody|one.two.BaseInterface|false| -> false
|
||||
one.two.EnumClassWithInterface.NewSecondEntryWithBody|one.two.BaseInterface|true| -> true
|
||||
subClass: one.two.EnumEntries, superClass: java.lang.Object, deepSearch: false -> false
|
||||
subClass: one.two.EnumEntries, superClass: java.lang.Object, deepSearch: true -> true
|
||||
subClass: one.two.EnumEntries, superClass: java.lang.Enum, deepSearch: false -> true
|
||||
subClass: one.two.EnumEntries, superClass: java.lang.Enum, deepSearch: true -> true
|
||||
subClass: one.two.EnumEntries.SecondEntryWithBody, superClass: java.lang.Enum, deepSearch: false -> false
|
||||
subClass: one.two.EnumEntries.SecondEntryWithBody, superClass: java.lang.Enum, deepSearch: true -> true
|
||||
subClass: one.two.EnumEntries.SecondEntryWithBody, superClass: one.two.EnumEntries, deepSearch: false -> true
|
||||
subClass: one.two.EnumEntries.SecondEntryWithBody, superClass: one.two.EnumEntries, deepSearch: true -> true
|
||||
subClass: one.two.EnumEntries.SecondEntryWithBody, superClass: java.lang.Object, deepSearch: false -> false
|
||||
subClass: one.two.EnumEntries.SecondEntryWithBody, superClass: java.lang.Object, deepSearch: true -> true
|
||||
subClass: one.two.EnumEntries.SecondEntryWithBody, superClass: one.two.BaseInterface, deepSearch: false -> false
|
||||
subClass: one.two.EnumEntries.SecondEntryWithBody, superClass: one.two.BaseInterface, deepSearch: true -> false
|
||||
subClass: one.two.EnumClassWithInterface.NewSecondEntryWithBody, superClass: one.two.BaseInterface, deepSearch: false -> false
|
||||
subClass: one.two.EnumClassWithInterface.NewSecondEntryWithBody, superClass: one.two.BaseInterface, deepSearch: true -> true
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
two.Object|java.lang.Object|false| -> true
|
||||
two.Object|java.lang.Object|true| -> true
|
||||
two.Object|two.BaseInterface|false| -> false
|
||||
two.Object|two.BaseInterface|true| -> false
|
||||
two.ObjectWithInterface|two.BaseInterface|false| -> true
|
||||
two.ObjectWithInterface|two.BaseInterface|true| -> true
|
||||
two.ObjectWithInterface|java.lang.Object|false| -> true
|
||||
two.ObjectWithInterface|java.lang.Object|true| -> true
|
||||
two.ObjectWithClassAndInterface|java.lang.Object|false| -> false
|
||||
two.ObjectWithClassAndInterface|java.lang.Object|true| -> true
|
||||
two.ObjectWithClassAndInterface|two.NonBaseClass|false| -> true
|
||||
two.ObjectWithClassAndInterface|two.NonBaseClass|true| -> true
|
||||
two.ObjectWithClassAndInterface|two.NonBaseInterface|false| -> true
|
||||
two.ObjectWithClassAndInterface|two.NonBaseInterface|true| -> true
|
||||
two.ObjectWithClassAndJavaInterface|java.lang.Object|false| -> false
|
||||
two.ObjectWithClassAndJavaInterface|java.lang.Object|true| -> true
|
||||
two.ObjectWithClassAndJavaInterface|two.NonBaseClass|false| -> true
|
||||
two.ObjectWithClassAndJavaInterface|two.NonBaseClass|true| -> true
|
||||
two.ObjectWithClassAndJavaInterface|two.NonBaseInterface|false| -> false
|
||||
two.ObjectWithClassAndJavaInterface|two.NonBaseInterface|true| -> false
|
||||
two.ObjectWithClassAndJavaInterface|java.lang.Runnable|false| -> true
|
||||
two.ObjectWithClassAndJavaInterface|java.lang.Runnable|true| -> true
|
||||
subClass: two.Object, superClass: java.lang.Object, deepSearch: false -> true
|
||||
subClass: two.Object, superClass: java.lang.Object, deepSearch: true -> true
|
||||
subClass: two.Object, superClass: two.BaseInterface, deepSearch: false -> false
|
||||
subClass: two.Object, superClass: two.BaseInterface, deepSearch: true -> false
|
||||
subClass: two.ObjectWithInterface, superClass: two.BaseInterface, deepSearch: false -> true
|
||||
subClass: two.ObjectWithInterface, superClass: two.BaseInterface, deepSearch: true -> true
|
||||
subClass: two.ObjectWithInterface, superClass: java.lang.Object, deepSearch: false -> true
|
||||
subClass: two.ObjectWithInterface, superClass: java.lang.Object, deepSearch: true -> true
|
||||
subClass: two.ObjectWithClassAndInterface, superClass: java.lang.Object, deepSearch: false -> false
|
||||
subClass: two.ObjectWithClassAndInterface, superClass: java.lang.Object, deepSearch: true -> true
|
||||
subClass: two.ObjectWithClassAndInterface, superClass: two.NonBaseClass, deepSearch: false -> true
|
||||
subClass: two.ObjectWithClassAndInterface, superClass: two.NonBaseClass, deepSearch: true -> true
|
||||
subClass: two.ObjectWithClassAndInterface, superClass: two.NonBaseInterface, deepSearch: false -> true
|
||||
subClass: two.ObjectWithClassAndInterface, superClass: two.NonBaseInterface, deepSearch: true -> true
|
||||
subClass: two.ObjectWithClassAndJavaInterface, superClass: java.lang.Object, deepSearch: false -> false
|
||||
subClass: two.ObjectWithClassAndJavaInterface, superClass: java.lang.Object, deepSearch: true -> true
|
||||
subClass: two.ObjectWithClassAndJavaInterface, superClass: two.NonBaseClass, deepSearch: false -> true
|
||||
subClass: two.ObjectWithClassAndJavaInterface, superClass: two.NonBaseClass, deepSearch: true -> true
|
||||
subClass: two.ObjectWithClassAndJavaInterface, superClass: two.NonBaseInterface, deepSearch: false -> false
|
||||
subClass: two.ObjectWithClassAndJavaInterface, superClass: two.NonBaseInterface, deepSearch: true -> false
|
||||
subClass: two.ObjectWithClassAndJavaInterface, superClass: java.lang.Runnable, deepSearch: false -> 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
|
||||
one.two.MyInterface.DefaultImpls|java.lang.Object|true| -> true
|
||||
subClass: one.two.MyInterface.DefaultImpls, superClass: java.lang.Object, deepSearch: false -> 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
|
||||
|
||||
private const val INHERITORS_EXTENSION = "inheritors.txt"
|
||||
private const val PAIRS_DELIMITER = ", "
|
||||
private const val VALUE_DELIMITER = ": "
|
||||
|
||||
abstract class AbstractSymbolLightClassesStructureTest(
|
||||
configurator: AnalysisApiTestConfigurator,
|
||||
@@ -60,12 +62,21 @@ abstract class AbstractSymbolLightClassesStructureTest(
|
||||
val queries = parseInheritorsFile(testData)
|
||||
val result = buildString {
|
||||
for (query in queries) {
|
||||
append("subClass")
|
||||
append(VALUE_DELIMITER)
|
||||
append(query.fqNameToCheck)
|
||||
append('|')
|
||||
append(PAIRS_DELIMITER)
|
||||
|
||||
append("superClass")
|
||||
append(VALUE_DELIMITER)
|
||||
append(query.baseFqName)
|
||||
append('|')
|
||||
append(PAIRS_DELIMITER)
|
||||
|
||||
append("deepSearch")
|
||||
append(VALUE_DELIMITER)
|
||||
append(query.deep.toString())
|
||||
append("| -> ")
|
||||
|
||||
append(" -> ")
|
||||
appendLine(query.isInheritor(project).toString())
|
||||
}
|
||||
}
|
||||
@@ -89,10 +100,21 @@ abstract class AbstractSymbolLightClassesStructureTest(
|
||||
path.forEachLine { line: String ->
|
||||
if (line.isBlank()) return@forEachLine
|
||||
|
||||
val arguments = line.split('|')
|
||||
val fqNameToCheck = arguments.getOrNull(0) ?: wrongInheritorStructure(line)
|
||||
val baseFqName = arguments.getOrNull(1) ?: wrongInheritorStructure(line)
|
||||
val deep = arguments.getOrNull(2)?.toBoolean() ?: wrongInheritorStructure(line)
|
||||
val arguments = line.split(PAIRS_DELIMITER)
|
||||
val fqNameToCheck = arguments.getOrNull(0)
|
||||
?.substringAfter(VALUE_DELIMITER)
|
||||
?: 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))
|
||||
}
|
||||
}.toSet()
|
||||
|
||||
Reference in New Issue
Block a user