in intellij-plugin/educational-core/testSrc/com/jetbrains/edu/learning/handlers/VirtualFileListenerTestBase.kt [275:324]
protected fun doMoveTest(filePath: String, newParentPath: String, checksProducer: (Course) -> List<FileCheck>) {
val course = courseWithFiles(
courseMode = courseMode,
language = FakeGradleBasedLanguage
) {
lesson("lesson1") {
eduTask("task1") {
dir("src") {
taskFile("Task1.kt")
dir("foo") {
taskFile("Task2.kt")
taskFile("Task3.kt")
}
taskFile("bar/Task4.kt")
}
taskFile("additional_file1.txt")
dir("foo") {
taskFile("additional_file2.txt")
taskFile("additional_file3.txt")
}
taskFile("bar/additional_file4.txt")
dir("test") {
taskFile("Tests1.kt")
dir("foo") {
taskFile("Tests2.kt")
taskFile("Tests3.kt")
}
taskFile("bar/Tests4.kt")
}
}
}
}
val requestor = CCVirtualFileListenerTest::class.java
runWriteAction {
val dir = LightPlatformTestCase.getSourceRoot()
.createChildDirectory(requestor, "non_course_dir")
dir.createChildData(requestor, "non_course_file1.txt")
dir.createChildData(requestor, "non_course_file2.txt")
}
val file = findFile(filePath)
val newParent = findFile(newParentPath)
runWriteAction { file.move(requestor, newParent) }
checksProducer(course).forEach(FileCheck::check)
}