// 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.fir.completion;

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("fir/tests")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@TestMetadata("../../completion/testData/basic/fullJdk")
public abstract class K2JvmBasicCompletionFullJdkTestGenerated extends AbstractK2JvmBasicCompletionFullJdkTest {
    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../completion/testData/basic/fullJdk/chain")
    public static class Chain extends AbstractK2JvmBasicCompletionFullJdkTest {
        @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("ChainCompletionRemaining.kt")
        public void testChainCompletionRemaining() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/chain/ChainCompletionRemaining.kt");
        }

        @TestMetadata("ChainedCallableCompletion.kt")
        public void testChainedCallableCompletion() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/chain/ChainedCallableCompletion.kt");
        }

        @TestMetadata("ChainedClassifierCompletion.kt")
        public void testChainedClassifierCompletion() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/chain/ChainedClassifierCompletion.kt");
        }

        @TestMetadata("ExactMatch.kt")
        public void testExactMatch() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/chain/ExactMatch.kt");
        }

        @TestMetadata("NoChainedCallableCompletion.kt")
        public void testNoChainedCallableCompletion() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/chain/NoChainedCallableCompletion.kt");
        }

        @TestMetadata("NoChainedClassifierCompletion.kt")
        public void testNoChainedClassifierCompletion() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/chain/NoChainedClassifierCompletion.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../completion/testData/basic/fullJdk/lambdaSignature")
    public static class LambdaSignature extends AbstractK2JvmBasicCompletionFullJdkTest {
        @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("NoParameterName1.kt")
        public void testNoParameterName1() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/NoParameterName1.kt");
        }

        @TestMetadata("NoParameterName2.kt")
        public void testNoParameterName2() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/NoParameterName2.kt");
        }

        @TestMetadata("NoRemainingParameterName1.kt")
        public void testNoRemainingParameterName1() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/NoRemainingParameterName1.kt");
        }

        @TestMetadata("NoRemainingParameterName2.kt")
        public void testNoRemainingParameterName2() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/NoRemainingParameterName2.kt");
        }

        @TestMetadata("NoRemainingParameterName3.kt")
        public void testNoRemainingParameterName3() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/NoRemainingParameterName3.kt");
        }

        @TestMetadata("ParameterName1.kt")
        public void testParameterName1() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName1.kt");
        }

        @TestMetadata("ParameterName10.kt")
        public void testParameterName10() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName10.kt");
        }

        @TestMetadata("ParameterName11.kt")
        public void testParameterName11() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName11.kt");
        }

        @TestMetadata("ParameterName12.kt")
        public void testParameterName12() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName12.kt");
        }

        @TestMetadata("ParameterName13.kt")
        public void testParameterName13() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName13.kt");
        }

        @TestMetadata("ParameterName14.kt")
        public void testParameterName14() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName14.kt");
        }

        @TestMetadata("ParameterName15.kt")
        public void testParameterName15() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName15.kt");
        }

        @TestMetadata("ParameterName16.kt")
        public void testParameterName16() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName16.kt");
        }

        @TestMetadata("ParameterName17.kt")
        public void testParameterName17() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName17.kt");
        }

        @TestMetadata("ParameterName18.kt")
        public void testParameterName18() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName18.kt");
        }

        @TestMetadata("ParameterName19.kt")
        public void testParameterName19() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName19.kt");
        }

        @TestMetadata("ParameterName2.kt")
        public void testParameterName2() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName2.kt");
        }

        @TestMetadata("ParameterName20.kt")
        public void testParameterName20() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName20.kt");
        }

        @TestMetadata("ParameterName21.kt")
        public void testParameterName21() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName21.kt");
        }

        @TestMetadata("ParameterName22.kt")
        public void testParameterName22() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName22.kt");
        }

        @TestMetadata("ParameterName3.kt")
        public void testParameterName3() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName3.kt");
        }

        @TestMetadata("ParameterName4.kt")
        public void testParameterName4() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName4.kt");
        }

        @TestMetadata("ParameterName5.kt")
        public void testParameterName5() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName5.kt");
        }

        @TestMetadata("ParameterName6.kt")
        public void testParameterName6() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName6.kt");
        }

        @TestMetadata("ParameterName7.kt")
        public void testParameterName7() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName7.kt");
        }

        @TestMetadata("ParameterName8.kt")
        public void testParameterName8() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName8.kt");
        }

        @TestMetadata("ParameterName9.kt")
        public void testParameterName9() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/ParameterName9.kt");
        }

        @TestMetadata("RemainingParameterName1.kt")
        public void testRemainingParameterName1() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/RemainingParameterName1.kt");
        }

        @TestMetadata("RemainingParameterName2.kt")
        public void testRemainingParameterName2() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/RemainingParameterName2.kt");
        }

        @TestMetadata("RemainingParameterName3.kt")
        public void testRemainingParameterName3() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/RemainingParameterName3.kt");
        }

        @TestMetadata("RemainingParameterName4.kt")
        public void testRemainingParameterName4() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/RemainingParameterName4.kt");
        }

        @TestMetadata("RemainingParameterName5.kt")
        public void testRemainingParameterName5() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/RemainingParameterName5.kt");
        }

        @TestMetadata("RemainingParameterName6.kt")
        public void testRemainingParameterName6() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/RemainingParameterName6.kt");
        }

        @TestMetadata("RemainingParameterName7.kt")
        public void testRemainingParameterName7() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/lambdaSignature/RemainingParameterName7.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../completion/testData/basic/fullJdk")
    public static class Uncategorized extends AbstractK2JvmBasicCompletionFullJdkTest {
        @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("JDKEnumEntryCompletion.kt")
        public void testJDKEnumEntryCompletion() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/JDKEnumEntryCompletion.kt");
        }

        @TestMetadata("KTIJ-32439.kt")
        public void testKTIJ_32439() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/KTIJ-32439.kt");
        }

        @TestMetadata("KT-69416.kt")
        public void testKT_69416() throws Exception {
            runTest("../../completion/testData/basic/fullJdk/KT-69416.kt");
        }
    }
}
