protected fun doMoveTest()

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)
  }