package jetbrains.mps.propertiesTest;

/*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.CheckErrorMessagesRunnable;
import jetbrains.mps.project.ProjectBase;
import jetbrains.mps.internal.collections.runtime.ListSequence;
import java.util.ArrayList;
import jetbrains.mps.lang.test.runtime.CheckExpectedMessageRunnable;
import jetbrains.mps.errors.MessageStatus;
import jetbrains.mps.smodel.SNodePointer;

@MPSLaunch
public class PropertyInheritance_Test extends BaseTransformationTest {
  @RegisterExtension
  private static final TestParametersCacheExtension ourParametersCacheExtension = new TestParametersCacheExtension(new TestParametersCache(PropertyInheritance_Test.class, "${mps_home}", "r:a7e6c515-be7c-48fa-b7c6-1ffad39a5d77(jetbrains.mps.propertiesTest@tests)", false));

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

  @Test
  public void test_ErrorMessagesCheck2793586790994231859() throws Throwable {
    new TestBody(this).test_ErrorMessagesCheck2793586790994231859();
  }
  @Test
  public void test_NodeTryingToAssignWeakerPrivilegesCheck6115392061227170451() throws Throwable {
    new TestBody(this).test_NodeTryingToAssignWeakerPrivilegesCheck6115392061227170451();
  }
  @Test
  public void test_NodeTheMethodReturnTypeIsCheck6115392061227172643() throws Throwable {
    new TestBody(this).test_NodeTheMethodReturnTypeIsCheck6115392061227172643();
  }
  @Test
  public void test_NodeTryingToAssignWeakerPrivilegesCheck6115392061228741124() throws Throwable {
    new TestBody(this).test_NodeTryingToAssignWeakerPrivilegesCheck6115392061228741124();
  }
  @Test
  public void test_NodeUnnamedErrorCheck6115392061228741318() throws Throwable {
    new TestBody(this).test_NodeUnnamedErrorCheck6115392061228741318();
  }
  @Test
  public void test_NodeTheMethodCannotOverrideCheck6115392061233415628() throws Throwable {
    new TestBody(this).test_NodeTheMethodCannotOverrideCheck6115392061233415628();
  }

  /*package*/ static class TestBody extends BaseTestBody {

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

    public void test_ErrorMessagesCheck2793586790994231859() throws Exception {

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

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("6115392061227159638");
        SNode operation = getRealNodeById("6115392061227170451");
        new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(nodeToCheck, MessageStatus.ERROR, new SNodePointer("r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "3950519302595116711"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeTheMethodReturnTypeIsCheck6115392061227172643() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("6115392061227170557");
        SNode operation = getRealNodeById("6115392061227172643");
        new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(nodeToCheck, MessageStatus.ERROR, new SNodePointer("r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "6115392061221562427"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeTryingToAssignWeakerPrivilegesCheck6115392061228741124() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("6115392061227172800");
        SNode operation = getRealNodeById("6115392061228741124");
        new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(nodeToCheck, MessageStatus.ERROR, new SNodePointer("r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "3950519302595116711"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeUnnamedErrorCheck6115392061228741318() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("6115392061227159373");
        SNode operation = getRealNodeById("6115392061228741318");
        new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(nodeToCheck, MessageStatus.ERROR, new SNodePointer("r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "7861981782410371482"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeTheMethodCannotOverrideCheck6115392061233415628() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("6115392061233268919");
        SNode operation = getRealNodeById("6115392061233415628");
        new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(nodeToCheck, MessageStatus.ERROR, new SNodePointer("r:00000000-0000-4000-0000-011c895902c5(jetbrains.mps.baseLanguage.typesystem)", "3950519302592864485"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }

  }
}
