// 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.refactoring.pushDown;

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("refactorings/kotlin.refactorings.tests.k2")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public abstract class K2PushDownTestGenerated extends AbstractK2PushDownTest {
    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/pushDown/k2k")
    public static class K2K extends AbstractK2PushDownTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

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

        @TestMetadata("accidentalOverrides.kt")
        public void testAccidentalOverrides() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/accidentalOverrides.kt");
        }

        @TestMetadata("caretOnDeepestFinalClassInInterface.kt")
        public void testCaretOnDeepestFinalClassInInterface() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/caretOnDeepestFinalClassInInterface.kt");
        }

        @TestMetadata("caretOnFinalClassInOpenClass.kt")
        public void testCaretOnFinalClassInOpenClass() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/caretOnFinalClassInOpenClass.kt");
        }

        @TestMetadata("caretOnObjectInFinalClass.kt")
        public void testCaretOnObjectInFinalClass() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/caretOnObjectInFinalClass.kt");
        }

        @TestMetadata("clashingMembers.kt")
        public void testClashingMembers() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/clashingMembers.kt");
        }

        @TestMetadata("classToInterface.kt")
        public void testClassToInterface() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/classToInterface.kt");
        }

        @TestMetadata("conflictingSuperCall.kt")
        public void testConflictingSuperCall() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/conflictingSuperCall.kt");
        }

        @TestMetadata("dropVisibilityOnGeneratedOverride.kt")
        public void testDropVisibilityOnGeneratedOverride() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/dropVisibilityOnGeneratedOverride.kt");
        }

        @TestMetadata("finalClass.kt")
        public void testFinalClass() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/finalClass.kt");
        }

        @TestMetadata("implicitCompanionUsages.kt")
        public void testImplicitCompanionUsages() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/implicitCompanionUsages.kt");
        }

        @TestMetadata("liftPrivate.kt")
        public void testLiftPrivate() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/liftPrivate.kt");
        }

        @TestMetadata("noCaret.kt")
        public void testNoCaret() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/noCaret.kt");
        }

        @TestMetadata("objectDeclaration.kt")
        public void testObjectDeclaration() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/objectDeclaration.kt");
        }

        @TestMetadata("outsideOfClass.kt")
        public void testOutsideOfClass() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/outsideOfClass.kt");
        }

        @TestMetadata("pushClassMembers.kt")
        public void testPushClassMembers() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/pushClassMembers.kt");
        }

        @TestMetadata("pushClassMembersAndMakeAbstract.kt")
        public void testPushClassMembersAndMakeAbstract() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/pushClassMembersAndMakeAbstract.kt");
        }

        @TestMetadata("pushClassMembersWithGenerics.kt")
        public void testPushClassMembersWithGenerics() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/pushClassMembersWithGenerics.kt");
        }

        @TestMetadata("pushInterfaceMembers.kt")
        public void testPushInterfaceMembers() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/pushInterfaceMembers.kt");
        }

        @TestMetadata("pushInterfaceMembersAndMakeAbstract.kt")
        public void testPushInterfaceMembersAndMakeAbstract() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/pushInterfaceMembersAndMakeAbstract.kt");
        }

        @TestMetadata("pushMembersUsingPrivates.kt")
        public void testPushMembersUsingPrivates() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/pushMembersUsingPrivates.kt");
        }

        @TestMetadata("pushMembersWithExternalUsages.kt")
        public void testPushMembersWithExternalUsages() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/pushMembersWithExternalUsages.kt");
        }

        @TestMetadata("pushSuperInterfaces.kt")
        public void testPushSuperInterfaces() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/pushSuperInterfaces.kt");
        }

        @TestMetadata("pushSuperInterfacesWithGenerics.kt")
        public void testPushSuperInterfacesWithGenerics() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2k/pushSuperInterfacesWithGenerics.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/pushDown/k2j")
    public static class K2J extends AbstractK2PushDownTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

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

        @TestMetadata("kotlinToJava.kt")
        public void testKotlinToJava() throws Exception {
            runTest("../../idea/tests/testData/refactoring/pushDown/k2j/kotlinToJava.kt");
        }
    }
}
