package TestConstraints.test;

/*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 ConstraintsInheritance_Test extends BaseTransformationTest {
  @RegisterExtension
  private static final TestParametersCacheExtension ourParametersCacheExtension = new TestParametersCacheExtension(new TestParametersCache(ConstraintsInheritance_Test.class, "${mps_home}", "r:63c35524-f256-4fdd-b128-2c53748bdd7c(TestConstraints.test@tests)", false));

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

  @Test
  public void test_NodeUnknownRuleCheck5816870305080793796() throws Throwable {
    new TestBody(this).test_NodeUnknownRuleCheck5816870305080793796();
  }
  @Test
  public void test_NodeUnknownRuleCheck5816870305080793812() throws Throwable {
    new TestBody(this).test_NodeUnknownRuleCheck5816870305080793812();
  }
  @Test
  public void test_ErrorMessagesCheck5816870305080792275() throws Throwable {
    new TestBody(this).test_ErrorMessagesCheck5816870305080792275();
  }
  @Test
  public void test_NodeUnknownRuleCheck5816870305080793804() throws Throwable {
    new TestBody(this).test_NodeUnknownRuleCheck5816870305080793804();
  }
  @Test
  public void test_NodeUnknownRuleCheck5816870305080793825() throws Throwable {
    new TestBody(this).test_NodeUnknownRuleCheck5816870305080793825();
  }
  @Test
  public void test_NodeUnknownRuleCheck5816870305080793833() throws Throwable {
    new TestBody(this).test_NodeUnknownRuleCheck5816870305080793833();
  }

  /*package*/ static class TestBody extends BaseTestBody {

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

    public void test_NodeUnknownRuleCheck5816870305080793796() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("5816870305080550504");
        SNode operation = getRealNodeById("5816870305080793796");
        new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(nodeToCheck, MessageStatus.ERROR, new SNodePointer("r:6789573d-c842-4805-bb3b-05fd4fbf786e(constraints.test.constraints)", "5816870305080488341"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeUnknownRuleCheck5816870305080793812() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("5816870305080791974");
        SNode operation = getRealNodeById("5816870305080793812");
        new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(nodeToCheck, MessageStatus.ERROR, new SNodePointer("r:6789573d-c842-4805-bb3b-05fd4fbf786e(constraints.test.constraints)", "5816870305080488341"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_ErrorMessagesCheck5816870305080792275() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("5816870305080792242");
        SNode operation = getRealNodeById("5816870305080792275");
        new CheckErrorMessagesRunnable(nodeToCheck, false, false, ((ProjectBase) myProject).getPlatform()).includeSelf(false).exclude(ListSequence.fromList(new ArrayList<CheckExpectedMessageRunnable>())).run();
      });
    }
    public void test_NodeUnknownRuleCheck5816870305080793804() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("5816870305080792005");
        SNode operation = getRealNodeById("5816870305080793804");
        new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(nodeToCheck, MessageStatus.ERROR, new SNodePointer("r:6789573d-c842-4805-bb3b-05fd4fbf786e(constraints.test.constraints)", "5816870305080501534"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeUnknownRuleCheck5816870305080793825() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("5816870305080792099");
        SNode operation = getRealNodeById("5816870305080793825");
        new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(nodeToCheck, MessageStatus.ERROR, new SNodePointer("r:6789573d-c842-4805-bb3b-05fd4fbf786e(constraints.test.constraints)", "5816870305080501534"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeUnknownRuleCheck5816870305080793833() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("5816870305080792150");
        SNode operation = getRealNodeById("5816870305080793833");
        new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(nodeToCheck, MessageStatus.ERROR, new SNodePointer("r:6789573d-c842-4805-bb3b-05fd4fbf786e(constraints.test.constraints)", "5816870305080509283"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }

  }
}
