package jetbrains.mps.kotlin.tests.editor.checks;

/*Generated by MPS */

import jetbrains.mps.MPSLaunch;
import jetbrains.mps.lang.test.runtime.BaseTransformationTest;
import org.junit.jupiter.api.extension.RegisterExtension;
import jetbrains.mps.lang.test.runtime.TestParametersCacheExtension;
import jetbrains.mps.lang.test.runtime.TestParametersCache;
import org.junit.jupiter.api.Test;
import jetbrains.mps.lang.test.runtime.BaseTestBody;
import jetbrains.mps.lang.test.runtime.TransformationTest;
import org.jetbrains.mps.openapi.model.SNode;
import jetbrains.mps.lang.test.runtime.CheckExpectedMessageRunnable;
import jetbrains.mps.errors.MessageStatus;
import jetbrains.mps.smodel.SNodePointer;
import jetbrains.mps.project.ProjectBase;
import jetbrains.mps.lang.test.runtime.CheckErrorMessagesRunnable;
import jetbrains.mps.internal.collections.runtime.ListSequence;
import java.util.ArrayList;

@MPSLaunch
public class CircularInheritance_Test extends BaseTransformationTest {
  @RegisterExtension
  private static final TestParametersCacheExtension ourParametersCacheExtension = new TestParametersCacheExtension(new TestParametersCache(CircularInheritance_Test.class, "${mps_home}", "r:7c8e019c-f730-4087-8f9d-0f24a0e49d4c(jetbrains.mps.kotlin.tests.editor.checks@tests)", false));

  public CircularInheritance_Test() {
    super(ourParametersCacheExtension.getParametersCache());
  }

  @Test
  public void test_NodeTheresCycleInTheInheritanceCheck685380225824103908() throws Throwable {
    new TestBody(this).test_NodeTheresCycleInTheInheritanceCheck685380225824103908();
  }
  @Test
  public void test_NodeTheresCycleInTheInheritanceCheck685380225824103922() throws Throwable {
    new TestBody(this).test_NodeTheresCycleInTheInheritanceCheck685380225824103922();
  }
  @Test
  public void test_NodeTheresCycleInTheInheritanceCheck685380225824103928() throws Throwable {
    new TestBody(this).test_NodeTheresCycleInTheInheritanceCheck685380225824103928();
  }
  @Test
  public void test_NodeTheresCycleInTheInheritanceCheck685380225824103935() throws Throwable {
    new TestBody(this).test_NodeTheresCycleInTheInheritanceCheck685380225824103935();
  }
  @Test
  public void test_NodeTheresCycleInTheInheritanceCheck685380225824103940() throws Throwable {
    new TestBody(this).test_NodeTheresCycleInTheInheritanceCheck685380225824103940();
  }
  @Test
  public void test_ErrorMessagesCheck685380225824107629() throws Throwable {
    new TestBody(this).test_ErrorMessagesCheck685380225824107629();
  }

  /*package*/ static class TestBody extends BaseTestBody {

    /*package*/ TestBody(TransformationTest owner) {
      super(owner);
    }

    public void test_NodeTheresCycleInTheInheritanceCheck685380225824103908() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("685380225824103904");
        SNode operation = getRealNodeById("685380225824103908");
        new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(nodeToCheck, MessageStatus.ERROR, new SNodePointer("r:aff09eac-afd3-4057-bdd8-e02a572d1436(jetbrains.mps.kotlin.typesystem)", "685380225822696379"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeTheresCycleInTheInheritanceCheck685380225824103922() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("685380225824103918");
        SNode operation = getRealNodeById("685380225824103922");
        new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(nodeToCheck, MessageStatus.ERROR, new SNodePointer("r:aff09eac-afd3-4057-bdd8-e02a572d1436(jetbrains.mps.kotlin.typesystem)", "685380225822696379"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeTheresCycleInTheInheritanceCheck685380225824103928() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("685380225824103924");
        SNode operation = getRealNodeById("685380225824103928");
        new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(nodeToCheck, MessageStatus.ERROR, new SNodePointer("r:aff09eac-afd3-4057-bdd8-e02a572d1436(jetbrains.mps.kotlin.typesystem)", "685380225822696379"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeTheresCycleInTheInheritanceCheck685380225824103935() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("685380225824103932");
        SNode operation = getRealNodeById("685380225824103935");
        new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(nodeToCheck, MessageStatus.ERROR, new SNodePointer("r:aff09eac-afd3-4057-bdd8-e02a572d1436(jetbrains.mps.kotlin.typesystem)", "685380225822696379"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeTheresCycleInTheInheritanceCheck685380225824103940() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("685380225824103937");
        SNode operation = getRealNodeById("685380225824103940");
        new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(nodeToCheck, MessageStatus.ERROR, new SNodePointer("r:aff09eac-afd3-4057-bdd8-e02a572d1436(jetbrains.mps.kotlin.typesystem)", "685380225822696379"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_ErrorMessagesCheck685380225824107629() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("685380225824103896");
        SNode operation = getRealNodeById("685380225824107629");
        new CheckErrorMessagesRunnable(nodeToCheck, false, false, ((ProjectBase) myProject).getPlatform()).includeSelf(true).exclude(ListSequence.fromListAndArray(new ArrayList<CheckExpectedMessageRunnable>(), new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(getRealNodeById("685380225824103904"), MessageStatus.ERROR, new SNodePointer("r:aff09eac-afd3-4057-bdd8-e02a572d1436(jetbrains.mps.kotlin.typesystem)", "685380225822696379"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()), new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(getRealNodeById("685380225824103918"), MessageStatus.ERROR, new SNodePointer("r:aff09eac-afd3-4057-bdd8-e02a572d1436(jetbrains.mps.kotlin.typesystem)", "685380225822696379"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()), new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(getRealNodeById("685380225824103924"), MessageStatus.ERROR, new SNodePointer("r:aff09eac-afd3-4057-bdd8-e02a572d1436(jetbrains.mps.kotlin.typesystem)", "685380225822696379"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()), new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(getRealNodeById("685380225824103932"), MessageStatus.ERROR, new SNodePointer("r:aff09eac-afd3-4057-bdd8-e02a572d1436(jetbrains.mps.kotlin.typesystem)", "685380225822696379"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()), new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(getRealNodeById("685380225824103937"), MessageStatus.ERROR, new SNodePointer("r:aff09eac-afd3-4057-bdd8-e02a572d1436(jetbrains.mps.kotlin.typesystem)", "685380225822696379"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()))).run();
      });
    }

  }
}
