/*
 * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
 * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
 */

package org.jetbrains.kotlin.swiftexport.standalone.test;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.util.KtTestUtil;
import org.jetbrains.kotlin.konan.test.blackbox.support.group.UseStandardTestCaseGroupProvider;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.jupiter.api.Test;

import java.io.File;
import java.util.regex.Pattern;

/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.native.swift.sir.GenerateSirTestsKt}. DO NOT MODIFY MANUALLY */
@SuppressWarnings("all")
@TestMetadata("native/swift/swift-export-standalone-integration-tests/simple/testData/generation")
@TestDataPath("$PROJECT_ROOT")
@UseStandardTestCaseGroupProvider()
public class KlibBasedSwiftExportRunnerTest extends AbstractKlibBasedSwiftRunnerTest {
  @Test
  public void testAllFilesPresentInGeneration() {
    KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/swift/swift-export-standalone-integration-tests/simple/testData/generation"), Pattern.compile("^([^.]+)$"), null, false);
  }

  @Test
  @TestMetadata("annotations")
  public void testAnnotations() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/annotations/");
  }

  @Test
  @TestMetadata("classes")
  public void testClasses() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/classes/");
  }

  @Test
  @TestMetadata("consuming_dependencies")
  public void testConsuming_dependencies() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/consuming_dependencies/");
  }

  @Test
  @TestMetadata("contextParameters")
  public void testContextParameters() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/contextParameters/");
  }

  @Test
  @TestMetadata("enums")
  public void testEnums() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/enums/");
  }

  @Test
  @TestMetadata("exceptions")
  public void testExceptions() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/exceptions/");
  }

  @Test
  @TestMetadata("extension_package_keyword")
  public void testExtension_package_keyword() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/extension_package_keyword/");
  }

  @Test
  @TestMetadata("external_types")
  public void testExternal_types() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/external_types/");
  }

  @Test
  @TestMetadata("functionAndClassWithSameName")
  public void testFunctionAndClassWithSameName() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/functionAndClassWithSameName/");
  }

  @Test
  @TestMetadata("functional_type")
  public void testFunctional_type() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/functional_type/");
  }

  @Test
  @TestMetadata("functions")
  public void testFunctions() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/functions/");
  }

  @Test
  @TestMetadata("generics")
  public void testGenerics() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/generics/");
  }

  @Test
  @TestMetadata("hiddenFromObjectiveC")
  public void testHiddenFromObjectiveC() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/hiddenFromObjectiveC/");
  }

  @Test
  @TestMetadata("identifiers")
  public void testIdentifiers() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/identifiers/");
  }

  @Test
  @TestMetadata("inheritance")
  public void testInheritance() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/inheritance/");
  }

  @Test
  @TestMetadata("inner_classes")
  public void testInner_classes() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/inner_classes/");
  }

  @Test
  @TestMetadata("list")
  public void testList() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/list/");
  }

  @Test
  @TestMetadata("map")
  public void testMap() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/map/");
  }

  @Test
  @TestMetadata("no_package")
  public void testNo_package() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/no_package/");
  }

  @Test
  @TestMetadata("nothing_type")
  public void testNothing_type() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/nothing_type/");
  }

  @Test
  @TestMetadata("nullable_type")
  public void testNullable_type() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/nullable_type/");
  }

  @Test
  @TestMetadata("overrides")
  public void testOverrides() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/overrides/");
  }

  @Test
  @TestMetadata("package_flattening")
  public void testPackage_flattening() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/package_flattening/");
  }

  @Test
  @TestMetadata("package_flattening_invalid_target")
  public void testPackage_flattening_invalid_target() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/package_flattening_invalid_target/");
  }

  @Test
  @TestMetadata("package_flattening_missing_target")
  public void testPackage_flattening_missing_target() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/package_flattening_missing_target/");
  }

  @Test
  @TestMetadata("protocols")
  public void testProtocols() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/protocols/");
  }

  @Test
  @TestMetadata("set")
  public void testSet() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/set/");
  }

  @Test
  @TestMetadata("stdlibTypes")
  public void testStdlibTypes() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/stdlibTypes/");
  }

  @Test
  @TestMetadata("transitiveExport")
  public void testTransitiveExport() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/transitiveExport/");
  }

  @Test
  @TestMetadata("type_reference")
  public void testType_reference() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/type_reference/");
  }

  @Test
  @TestMetadata("typealiases")
  public void testTypealiases() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/typealiases/");
  }

  @Test
  @TestMetadata("unsupportedDeclarationsReporting")
  public void testUnsupportedDeclarationsReporting() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/unsupportedDeclarationsReporting/");
  }

  @Test
  @TestMetadata("variables")
  public void testVariables() {
    runTest("native/swift/swift-export-standalone-integration-tests/simple/testData/generation/variables/");
  }
}
