// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.

package org.jetbrains.kotlin.idea.k2.codeinsight.fixes;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode;
import org.jetbrains.kotlin.idea.base.test.TestRoot;
import org.jetbrains.kotlin.idea.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.idea.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith;

/**
 * This class is generated by {@link org.jetbrains.kotlin.testGenerator.generator.TestGenerator}.
 * DO NOT MODIFY MANUALLY.
 */
@SuppressWarnings("all")
@TestRoot("code-insight/fixes-k2/tests")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@TestMetadata("../../testData/quickFixes/kdocUnresolvedReference")
public abstract class K2KDocUnresolvedReferenceTestGenerated extends AbstractK2KDocUnresolvedReferenceTest {
    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../testData/quickFixes/kdocUnresolvedReference/javaDeclaration")
    public static class JavaDeclaration extends AbstractK2KDocUnresolvedReferenceTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("enumClass.kt")
        public void testEnumClass() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/javaDeclaration/enumClass.kt");
        }

        @TestMetadata("enumEntryWithClassCaretOnClass.kt")
        public void testEnumEntryWithClassCaretOnClass() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/javaDeclaration/enumEntryWithClassCaretOnClass.kt");
        }

        @TestMetadata("enumEntryWithClassCaretOnEntry.kt")
        public void testEnumEntryWithClassCaretOnEntry() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/javaDeclaration/enumEntryWithClassCaretOnEntry.kt");
        }

        @TestMetadata("nestedClass.kt")
        public void testNestedClass() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/javaDeclaration/nestedClass.kt");
        }

        @TestMetadata("nestedClassWithOuterCaretOnNested.kt")
        public void testNestedClassWithOuterCaretOnNested() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/javaDeclaration/nestedClassWithOuterCaretOnNested.kt");
        }

        @TestMetadata("nestedClassWithOuterCaretOnOuter.kt")
        public void testNestedClassWithOuterCaretOnOuter() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/javaDeclaration/nestedClassWithOuterCaretOnOuter.kt");
        }

        @TestMetadata("staticField.kt")
        public void testStaticField() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/javaDeclaration/staticField.kt");
        }

        @TestMetadata("staticMethod.kt")
        public void testStaticMethod() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/javaDeclaration/staticMethod.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../testData/quickFixes/kdocUnresolvedReference/kotlinDeclaration")
    public static class KotlinDeclaration extends AbstractK2KDocUnresolvedReferenceTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("enumClass.kt")
        public void testEnumClass() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/kotlinDeclaration/enumClass.kt");
        }

        @TestMetadata("enumEntryWithClassCaretOnClass.kt")
        public void testEnumEntryWithClassCaretOnClass() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/kotlinDeclaration/enumEntryWithClassCaretOnClass.kt");
        }

        @TestMetadata("enumEntryWithClassCaretOnEntry.kt")
        public void testEnumEntryWithClassCaretOnEntry() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/kotlinDeclaration/enumEntryWithClassCaretOnEntry.kt");
        }

        @TestMetadata("nestedClass.kt")
        public void testNestedClass() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/kotlinDeclaration/nestedClass.kt");
        }

        @TestMetadata("nestedClassWithOuterCaretOnNested.kt")
        public void testNestedClassWithOuterCaretOnNested() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/kotlinDeclaration/nestedClassWithOuterCaretOnNested.kt");
        }

        @TestMetadata("nestedClassWithOuterCaretOnOuter.kt")
        public void testNestedClassWithOuterCaretOnOuter() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/kotlinDeclaration/nestedClassWithOuterCaretOnOuter.kt");
        }

        @TestMetadata("topLevelFunction.kt")
        public void testTopLevelFunction() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/kotlinDeclaration/topLevelFunction.kt");
        }

        @TestMetadata("topLevelProperty.kt")
        public void testTopLevelProperty() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/kotlinDeclaration/topLevelProperty.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../testData/quickFixes/kdocUnresolvedReference/location")
    public static class Location extends AbstractK2KDocUnresolvedReferenceTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("exception.kt")
        public void testException() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/location/exception.kt");
        }

        @TestMetadata("link.kt")
        public void testLink() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/location/link.kt");
        }

        @TestMetadata("linkWithSomeText.kt")
        public void testLinkWithSomeText() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/location/linkWithSomeText.kt");
        }

        @TestMetadata("see.kt")
        public void testSee() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/location/see.kt");
        }

        @TestMetadata("throws.kt")
        public void testThrows() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/location/throws.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../testData/quickFixes/kdocUnresolvedReference")
    public static class Uncategorized extends AbstractK2KDocUnresolvedReferenceTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("unresolvedRef.kt")
        public void testUnresolvedRef() throws Exception {
            runTest("../../testData/quickFixes/kdocUnresolvedReference/unresolvedRef.kt");
        }
    }
}
