// 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.introduce;

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)
@TestMetadata("../../idea/tests/testData/refactoring/introduceTypeAlias")
public class K2IntroduceTypeAliasTestGenerated extends AbstractK2IntroduceTypeAliasTest {
    @java.lang.Override
    @org.jetbrains.annotations.NotNull
    public final KotlinPluginMode getPluginMode() {
        return KotlinPluginMode.K2;
    }

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

    @TestMetadata("callableReference.kt")
    public void testCallableReference() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/callableReference.kt");
    }

    @TestMetadata("callableReferenceSelector.kt")
    public void testCallableReferenceSelector() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/callableReferenceSelector.kt");
    }

    @TestMetadata("classLiteral.kt")
    public void testClassLiteral() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/classLiteral.kt");
    }

    @TestMetadata("constructorCalls.kt")
    public void testConstructorCalls() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/constructorCalls.kt");
    }

    @TestMetadata("deeplyNestedClass.kt")
    public void testDeeplyNestedClass() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/deeplyNestedClass.kt");
    }

    @TestMetadata("emptyName.kt")
    public void testEmptyName() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/emptyName.kt");
    }

    @TestMetadata("entireTypeExtracted.kt")
    public void testEntireTypeExtracted() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/entireTypeExtracted.kt");
    }

    @TestMetadata("equivalentNestedTypeElements.kt")
    public void testEquivalentNestedTypeElements() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/equivalentNestedTypeElements.kt");
    }

    @TestMetadata("existingTypeClash.kt")
    public void testExistingTypeClash() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/existingTypeClash.kt");
    }

    @TestMetadata("functionTypeDuplicatesNoTypeParameters.kt")
    public void testFunctionTypeDuplicatesNoTypeParameters() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/functionTypeDuplicatesNoTypeParameters.kt");
    }

    @TestMetadata("functionTypeDuplicatesWithTypeParameters.kt")
    public void testFunctionTypeDuplicatesWithTypeParameters() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/functionTypeDuplicatesWithTypeParameters.kt");
    }

    @TestMetadata("functionTypeWithTypeParameters.kt")
    public void testFunctionTypeWithTypeParameters() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/functionTypeWithTypeParameters.kt");
    }

    @TestMetadata("functionalType.kt")
    public void testFunctionalType() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/functionalType.kt");
    }

    @TestMetadata("localTypeExtracted.kt")
    public void testLocalTypeExtracted() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/localTypeExtracted.kt");
    }

    @TestMetadata("localWithVisibility.kt")
    public void testLocalWithVisibility() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/localWithVisibility.kt");
    }

    @TestMetadata("nestedClass.kt")
    public void testNestedClass() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/nestedClass.kt");
    }

    @TestMetadata("nestedTypesExtracted.kt")
    public void testNestedTypesExtracted() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/nestedTypesExtracted.kt");
    }

    @TestMetadata("noTypeElement.kt")
    public void testNoTypeElement() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/noTypeElement.kt");
    }

    @TestMetadata("nonIdentifierName.kt")
    public void testNonIdentifierName() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/nonIdentifierName.kt");
    }

    @TestMetadata("nullableType.kt")
    public void testNullableType() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/nullableType.kt");
    }

    @TestMetadata("privateTypeAlias.kt")
    public void testPrivateTypeAlias() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/privateTypeAlias.kt");
    }

    @TestMetadata("protectedInFile.kt")
    public void testProtectedInFile() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/protectedInFile.kt");
    }

    @TestMetadata("singleTypeParameters.kt")
    public void testSingleTypeParameters() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/singleTypeParameters.kt");
    }

    @TestMetadata("skipQualifiers.kt")
    public void testSkipQualifiers() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/skipQualifiers.kt");
    }

    @TestMetadata("suggestedName.kt")
    public void testSuggestedName() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/suggestedName.kt");
    }

    @TestMetadata("suspendFunctionType.kt")
    public void testSuspendFunctionType() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/suspendFunctionType.kt");
    }

    @TestMetadata("topLevelTypeAlias.kt")
    public void testTopLevelTypeAlias() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/topLevelTypeAlias.kt");
    }

    @TestMetadata("typeConstructor.kt")
    public void testTypeConstructor() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/typeConstructor.kt");
    }

    @TestMetadata("typeParameters.kt")
    public void testTypeParameters() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/typeParameters.kt");
    }

    @TestMetadata("typesExtractedWithFunctionalType.kt")
    public void testTypesExtractedWithFunctionalType() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/typesExtractedWithFunctionalType.kt");
    }

    @TestMetadata("unmatchedNullability.kt")
    public void testUnmatchedNullability() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/unmatchedNullability.kt");
    }

    @TestMetadata("userTypeDuplicatesNoTypeParameters.kt")
    public void testUserTypeDuplicatesNoTypeParameters() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/userTypeDuplicatesNoTypeParameters.kt");
    }

    @TestMetadata("userTypeDuplicatesWithTypeParameters.kt")
    public void testUserTypeDuplicatesWithTypeParameters() throws Exception {
        runTest("../../idea/tests/testData/refactoring/introduceTypeAlias/userTypeDuplicatesWithTypeParameters.kt");
    }
}
