package jetbrains.mps.smodel.test.smodelOperations;

/*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 java.util.List;
import jetbrains.mps.internal.collections.runtime.ListSequence;
import java.util.ArrayList;
import org.junit.Assert;
import jetbrains.mps.lang.test.matcher.NodesMatcher;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations;
import jetbrains.mps.smodel.SNodePointer;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SLinkOperations;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SConceptOperations;
import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory;
import org.jetbrains.mps.openapi.model.SNodeReference;
import org.jetbrains.mps.openapi.model.SModel;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SModelOperations;
import org.jetbrains.mps.openapi.persistence.PersistenceFacade;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SPointerOperations;
import org.jetbrains.mps.openapi.model.SModelReference;
import jetbrains.mps.lang.test.runtime.CheckTypesAction;
import jetbrains.mps.lang.test.runtime.CheckExpectedMessageRunnable;
import jetbrains.mps.errors.MessageStatus;
import jetbrains.mps.project.ProjectBase;
import jetbrains.mps.lang.test.runtime.CheckErrorMessagesRunnable;
import jetbrains.mps.smodel.builder.SNodeBuilder;
import org.jetbrains.mps.openapi.language.SContainmentLink;
import org.jetbrains.mps.openapi.language.SReferenceLink;

@MPSLaunch
public class NodePointers_Test extends BaseTransformationTest {
  @RegisterExtension
  private static final TestParametersCacheExtension ourParametersCacheExtension = new TestParametersCacheExtension(new TestParametersCache(NodePointers_Test.class, "${mps_home}", "r:3526f944-06ad-48b3-a2a1-fffa752849ed(jetbrains.mps.smodel.test.smodelOperations@tests)", false));

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

  @Test
  public void test_ResolveData() throws Throwable {
    new TestBody(this).test_ResolveData();
  }
  @Test
  public void test_PointerEquality() throws Throwable {
    new TestBody(this).test_PointerEquality();
  }
  @Test
  public void test_IsOperation() throws Throwable {
    new TestBody(this).test_IsOperation();
  }
  @Test
  public void test_SetPtrOperation() throws Throwable {
    new TestBody(this).test_SetPtrOperation();
  }
  @Test
  public void test_ResolveDataModel() throws Throwable {
    new TestBody(this).test_ResolveDataModel();
  }
  @Test
  public void test_ModelPointerEquality() throws Throwable {
    new TestBody(this).test_ModelPointerEquality();
  }
  @Test
  public void test_NodePointerGetModelOp() throws Throwable {
    new TestBody(this).test_NodePointerGetModelOp();
  }
  @Test
  public void test_OperationsNullSafe() throws Throwable {
    new TestBody(this).test_OperationsNullSafe();
  }
  @Test
  public void test_NodeTypeCheck535833678907605667() throws Throwable {
    new TestBody(this).test_NodeTypeCheck535833678907605667();
  }
  @Test
  public void test_NodeTypeCheck535833678907609256() throws Throwable {
    new TestBody(this).test_NodeTypeCheck535833678907609256();
  }
  @Test
  public void test_NodeTypeCheck535833678905705670() throws Throwable {
    new TestBody(this).test_NodeTypeCheck535833678905705670();
  }
  @Test
  public void test_NodeTypeCheck535833678905709959() throws Throwable {
    new TestBody(this).test_NodeTypeCheck535833678905709959();
  }
  @Test
  public void test_NodeTargetNodeNotFoundInRepositoryCheck535833678906728045() throws Throwable {
    new TestBody(this).test_NodeTargetNodeNotFoundInRepositoryCheck535833678906728045();
  }
  @Test
  public void test_NodeTypeSystemCheck535833678905879477() throws Throwable {
    new TestBody(this).test_NodeTypeSystemCheck535833678905879477();
  }
  @Test
  public void test_NodeTypeSystemCheck535833678905721739() throws Throwable {
    new TestBody(this).test_NodeTypeSystemCheck535833678905721739();
  }
  @Test
  public void test_NodeTypeSystemCheck535833678905852712() throws Throwable {
    new TestBody(this).test_NodeTypeSystemCheck535833678905852712();
  }
  @Test
  public void test_NodeTypeSystemCheck535833678905854558() throws Throwable {
    new TestBody(this).test_NodeTypeSystemCheck535833678905854558();
  }
  @Test
  public void test_NodeTypeSystemCheck535833678905860220() throws Throwable {
    new TestBody(this).test_NodeTypeSystemCheck535833678905860220();
  }
  @Test
  public void test_NodeTypeCheck535833678905910987() throws Throwable {
    new TestBody(this).test_NodeTypeCheck535833678905910987();
  }
  @Test
  public void test_NodeTypeCheck535833678905916302() throws Throwable {
    new TestBody(this).test_NodeTypeCheck535833678905916302();
  }
  @Test
  public void test_NodeTypeCheck535833678905993796() throws Throwable {
    new TestBody(this).test_NodeTypeCheck535833678905993796();
  }
  @Test
  public void test_NodeTypeSystemCheck535833678905987697() throws Throwable {
    new TestBody(this).test_NodeTypeSystemCheck535833678905987697();
  }
  @Test
  public void test_NodeTypeCheck535833678906005800() throws Throwable {
    new TestBody(this).test_NodeTypeCheck535833678906005800();
  }
  @Test
  public void test_NodeTypeSystemCheck535833678906363602() throws Throwable {
    new TestBody(this).test_NodeTypeSystemCheck535833678906363602();
  }
  @Test
  public void test_NodeTypeCheck6012981979751350087() throws Throwable {
    new TestBody(this).test_NodeTypeCheck6012981979751350087();
  }
  @Test
  public void test_NodeTypeCheck6012981979751302141() throws Throwable {
    new TestBody(this).test_NodeTypeCheck6012981979751302141();
  }
  @Test
  public void test_ErrorMessagesCheck535833678905969550() throws Throwable {
    new TestBody(this).test_ErrorMessagesCheck535833678905969550();
  }

  /*package*/ static class TestBody extends BaseTestBody {

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

    public void test_ResolveData() throws Exception {
      runWithinCommand(() -> addNodeById("535833678905714232"));
      runWithinCommand(() -> {
        SNode data = TestBody.this.resolveData();

        {
          List<SNode> nodesBefore = ListSequence.fromListAndArray(new ArrayList<SNode>(), data);
          List<SNode> nodesAfter = ListSequence.fromListAndArray(new ArrayList<SNode>(), _quotation_createNode_hosvw_a0a0b0c0a0b0d23());
          Assert.assertTrue("The nodes '" + nodesBefore + "' and '" + nodesAfter + "' do not match!", new NodesMatcher(nodesBefore, nodesAfter).diff().isEmpty());
        }
      });
    }
    public void test_PointerEquality() throws Exception {
      runWithinCommand(() -> addNodeById("535833678905714232"));
      runWithinCommand(() -> {
        SNode data = TestBody.this.resolveData();

        Assert.assertEquals(SNodeOperations.getPointer(data), new SNodePointer("r:6598b34f-7cc0-4465-ba61-6e5504d2a2be(jetbrains.mps.smodel.test.data)", "535833678908145106"));
        Assert.assertEquals(SNodeOperations.getPointer(SNodeOperations.getParent(data)), new SNodePointer("r:6598b34f-7cc0-4465-ba61-6e5504d2a2be(jetbrains.mps.smodel.test.data)", "535833678907595165"));
        Assert.assertEquals(SNodeOperations.getPointer(ListSequence.fromList(SLinkOperations.getChildren(data, LINKS.member$L_2d)).first()), new SNodePointer("r:6598b34f-7cc0-4465-ba61-6e5504d2a2be(jetbrains.mps.smodel.test.data)", "535833678908048646"));
      });
    }
    public void test_IsOperation() throws Exception {
      runWithinCommand(() -> addNodeById("535833678905714232"));
      runWithinCommand(() -> {
        SNode data = TestBody.this.resolveData();

        Assert.assertTrue(SNodeOperations.is(data, new SNodePointer("r:6598b34f-7cc0-4465-ba61-6e5504d2a2be(jetbrains.mps.smodel.test.data)", "535833678908145106")));
        Assert.assertTrue(SNodeOperations.is(SNodeOperations.getParent(data), new SNodePointer("r:6598b34f-7cc0-4465-ba61-6e5504d2a2be(jetbrains.mps.smodel.test.data)", "535833678907595165")));
        Assert.assertTrue(SNodeOperations.is(ListSequence.fromList(SLinkOperations.getChildren(data, LINKS.member$L_2d)).first(), new SNodePointer("r:6598b34f-7cc0-4465-ba61-6e5504d2a2be(jetbrains.mps.smodel.test.data)", "535833678908048646")));

        Assert.assertFalse(SNodeOperations.is(data, new SNodePointer("r:6598b34f-7cc0-4465-ba61-6e5504d2a2be(jetbrains.mps.smodel.test.data)", "535833678907595165")));
      });
    }
    public void test_SetPtrOperation() throws Exception {
      runWithinCommand(() -> addNodeById("535833678905714232"));
      runWithinCommand(() -> {
        SNode clType = SConceptOperations.createNewNode(MetaAdapterFactory.getConcept(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101de48bf9eL, "jetbrains.mps.baseLanguage.structure.ClassifierType"));

        SLinkOperations.setPointer(clType, LINKS.classifier$cxMr, new SNodePointer("r:6598b34f-7cc0-4465-ba61-6e5504d2a2be(jetbrains.mps.smodel.test.data)", "535833678908607806"));
        {
          List<SNode> nodesBefore = ListSequence.fromListAndArray(new ArrayList<SNode>(), clType);
          List<SNode> nodesAfter = ListSequence.fromListAndArray(new ArrayList<SNode>(), _quotation_createNode_hosvw_a0a0b0d0a0b0g23());
          Assert.assertTrue("The nodes '" + nodesBefore + "' and '" + nodesAfter + "' do not match!", new NodesMatcher(nodesBefore, nodesAfter).diff().isEmpty());
        }

        SNodeReference classifier = new SNodePointer("r:6598b34f-7cc0-4465-ba61-6e5504d2a2be(jetbrains.mps.smodel.test.data)", "535833678908607934");
        SLinkOperations.setPointer(clType, LINKS.classifier$cxMr, classifier);
        {
          List<SNode> nodesBefore = ListSequence.fromListAndArray(new ArrayList<SNode>(), clType);
          List<SNode> nodesAfter = ListSequence.fromListAndArray(new ArrayList<SNode>(), _quotation_createNode_hosvw_a0a0b0h0a0b0g23());
          Assert.assertTrue("The nodes '" + nodesBefore + "' and '" + nodesAfter + "' do not match!", new NodesMatcher(nodesBefore, nodesAfter).diff().isEmpty());
        }
      });
    }
    public void test_ResolveDataModel() throws Exception {
      runWithinCommand(() -> addNodeById("535833678905714232"));
      runWithinCommand(() -> {
        SModel dataModel = TestBody.this.resolveDataModel();
        Assert.assertTrue(SNodeOperations.is(ListSequence.fromList(SModelOperations.nodes(dataModel, null)).first(), new SNodePointer("r:6598b34f-7cc0-4465-ba61-6e5504d2a2be(jetbrains.mps.smodel.test.data)", "535833678907595165")));
      });
    }
    public void test_ModelPointerEquality() throws Exception {
      runWithinCommand(() -> addNodeById("535833678905714232"));
      runWithinCommand(() -> {
        SModel dataModel = TestBody.this.resolveDataModel();
        Assert.assertEquals(SModelOperations.getPointer(dataModel), PersistenceFacade.getInstance().createModelReference("r:6598b34f-7cc0-4465-ba61-6e5504d2a2be(jetbrains.mps.smodel.test.data)"));
      });
    }
    public void test_NodePointerGetModelOp() throws Exception {
      runWithinCommand(() -> addNodeById("535833678905714232"));
      runWithinCommand(() -> Assert.assertEquals(SPointerOperations.getModel(new SNodePointer("r:6598b34f-7cc0-4465-ba61-6e5504d2a2be(jetbrains.mps.smodel.test.data)", "535833678907595165")), PersistenceFacade.getInstance().createModelReference("r:6598b34f-7cc0-4465-ba61-6e5504d2a2be(jetbrains.mps.smodel.test.data)")));
    }
    public void test_OperationsNullSafe() throws Exception {
      runWithinCommand(() -> addNodeById("535833678905714232"));
      runWithinCommand(() -> {
        SNodeReference np = null;
        SModelReference mp = null;
        SNode n = null;
        SModel m = null;

        Assert.assertNull(SPointerOperations.getModel(np));

        Assert.assertNull(SPointerOperations.resolveNode(np, myProject.getRepository()));
        Assert.assertNull(SPointerOperations.resolveNode(np, null));

        Assert.assertNull(SPointerOperations.resolveModel(mp, myProject.getRepository()));
        Assert.assertNull(SPointerOperations.resolveModel(mp, null));

        Assert.assertNull(SNodeOperations.getPointer(n));
        Assert.assertNull(SModelOperations.getPointer(m));

        Assert.assertFalse(SNodeOperations.is(n, new SNodePointer("r:6598b34f-7cc0-4465-ba61-6e5504d2a2be(jetbrains.mps.smodel.test.data)", "535833678907595165")));

        SNode ctNode = null;
        Assert.assertNull(SLinkOperations.setPointer(ctNode, LINKS.classifier$cxMr, null));
        SNode ctNodeNN = SConceptOperations.createNewNode(MetaAdapterFactory.getConcept(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101de48bf9eL, "jetbrains.mps.baseLanguage.structure.ClassifierType"));
        Assert.assertNull(SLinkOperations.setPointer(ctNodeNN, LINKS.classifier$cxMr, null));

      });
    }
    public void test_NodeTypeCheck535833678907605667() throws Exception {
      runWithinCommand(() -> addNodeById("535833678907605668"));

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("535833678907605665");
        SNode operation = getRealNodeById("535833678907605667");
        new CheckTypesAction.CheckComputedType(nodeToCheck).checkTypeIs(getNodeById("535833678907605668"));
      });
    }
    public void test_NodeTypeCheck535833678907609256() throws Exception {
      runWithinCommand(() -> addNodeById("535833678907609257"));

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("535833678907609254");
        SNode operation = getRealNodeById("535833678907609256");
        new CheckTypesAction.CheckComputedType(nodeToCheck).checkTypeIs(getNodeById("535833678907609257"));
      });
    }
    public void test_NodeTypeCheck535833678905705670() throws Exception {
      runWithinCommand(() -> addNodeById("535833678905631712"));

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("535833678905632710");
        SNode operation = getRealNodeById("535833678905705670");
        new CheckTypesAction.CheckComputedType(nodeToCheck).checkTypeIs(getNodeById("535833678905631712"));
      });
    }
    public void test_NodeTypeCheck535833678905709959() throws Exception {
      runWithinCommand(() -> addNodeById("535833678905709966"));

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("535833678905706769");
        SNode operation = getRealNodeById("535833678905709959");
        new CheckTypesAction.CheckComputedType(nodeToCheck).checkTypeIs(getNodeById("535833678905709966"));
      });
    }
    public void test_NodeTargetNodeNotFoundInRepositoryCheck535833678906728045() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("535833678905710102");
        SNode operation = getRealNodeById("535833678906728045");
        new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(nodeToCheck, MessageStatus.ERROR, new SNodePointer("r:66a90408-763b-417f-b164-4efaf06432ea(jetbrains.mps.lang.modelapi.typesystem)", "3138462966838136628"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeTypeSystemCheck535833678905879477() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("535833678905879473");
        SNode operation = getRealNodeById("535833678905879477");
        new CheckExpectedMessageRunnable.CheckExpectedTypesystemMessageRunnable(nodeToCheck, MessageStatus.ERROR, "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeTypeSystemCheck535833678905721739() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("535833678905721167");
        SNode operation = getRealNodeById("535833678905721739");
        new CheckExpectedMessageRunnable.CheckExpectedTypesystemMessageRunnable(nodeToCheck, MessageStatus.ERROR, "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeTypeSystemCheck535833678905852712() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("535833678905852708");
        SNode operation = getRealNodeById("535833678905852712");
        new CheckExpectedMessageRunnable.CheckExpectedTypesystemMessageRunnable(nodeToCheck, MessageStatus.ERROR, "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeTypeSystemCheck535833678905854558() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("535833678905854554");
        SNode operation = getRealNodeById("535833678905854558");
        new CheckExpectedMessageRunnable.CheckExpectedTypesystemMessageRunnable(nodeToCheck, MessageStatus.ERROR, "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeTypeSystemCheck535833678905860220() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("535833678905857278");
        SNode operation = getRealNodeById("535833678905860220");
        new CheckExpectedMessageRunnable.CheckExpectedTypesystemMessageRunnable(nodeToCheck, MessageStatus.ERROR, "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeTypeCheck535833678905910987() throws Exception {
      runWithinCommand(() -> addNodeById("535833678905911008"));

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("535833678905903293");
        SNode operation = getRealNodeById("535833678905910987");
        new CheckTypesAction.CheckComputedType(nodeToCheck).checkTypeIs(getNodeById("535833678905911008"));
      });
    }
    public void test_NodeTypeCheck535833678905916302() throws Exception {
      runWithinCommand(() -> addNodeById("535833678905916324"));

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("535833678905912149");
        SNode operation = getRealNodeById("535833678905916302");
        new CheckTypesAction.CheckComputedType(nodeToCheck).checkTypeIs(getNodeById("535833678905916324"));
      });
    }
    public void test_NodeTypeCheck535833678905993796() throws Exception {
      runWithinCommand(() -> addNodeById("535833678905993844"));

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("535833678905981337");
        SNode operation = getRealNodeById("535833678905993796");
        new CheckTypesAction.CheckComputedType(nodeToCheck).checkTypeIs(getNodeById("535833678905993844"));
      });
    }
    public void test_NodeTypeSystemCheck535833678905987697() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("535833678905985146");
        SNode operation = getRealNodeById("535833678905987697");
        new CheckExpectedMessageRunnable.CheckExpectedTypesystemMessageRunnable(nodeToCheck, MessageStatus.ERROR, "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeTypeCheck535833678906005800() throws Exception {
      runWithinCommand(() -> addNodeById("535833678906005948"));

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("535833678906001974");
        SNode operation = getRealNodeById("535833678906005800");
        new CheckTypesAction.CheckComputedType(nodeToCheck).checkTypeIs(getNodeById("535833678906005948"));
      });
    }
    public void test_NodeTypeSystemCheck535833678906363602() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("535833678906356748");
        SNode operation = getRealNodeById("535833678906363602");
        new CheckExpectedMessageRunnable.CheckExpectedTypesystemMessageRunnable(nodeToCheck, MessageStatus.ERROR, "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()).run();
      });
    }
    public void test_NodeTypeCheck6012981979751350087() throws Exception {
      runWithinCommand(() -> addNodeById("6012981979751350468"));

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("6012981979751334876");
        SNode operation = getRealNodeById("6012981979751350087");
        new CheckTypesAction.CheckComputedType(nodeToCheck).checkTypeIs(getNodeById("6012981979751350468"));
      });
    }
    public void test_NodeTypeCheck6012981979751302141() throws Exception {
      runWithinCommand(() -> addNodeById("6012981979751302150"));

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("6012981979751298239");
        SNode operation = getRealNodeById("6012981979751302141");
        new CheckTypesAction.CheckComputedType(nodeToCheck).checkTypeIs(getNodeById("6012981979751302150"));
      });
    }
    public void test_ErrorMessagesCheck535833678905969550() throws Exception {

      runWithinCommand(() -> {
        SNode nodeToCheck = getRealNodeById("535833678905714262");
        SNode operation = getRealNodeById("535833678905969550");
        new CheckErrorMessagesRunnable(nodeToCheck, true, false, ((ProjectBase) myProject).getPlatform()).includeSelf(true).exclude(ListSequence.fromListAndArray(new ArrayList<CheckExpectedMessageRunnable>(), new CheckExpectedMessageRunnable.CheckExpectedRuleMessageRunnable(getRealNodeById("535833678905710102"), MessageStatus.ERROR, new SNodePointer("r:66a90408-763b-417f-b164-4efaf06432ea(jetbrains.mps.lang.modelapi.typesystem)", "3138462966838136628"), "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()), new CheckExpectedMessageRunnable.CheckExpectedTypesystemMessageRunnable(getRealNodeById("535833678905879473"), MessageStatus.ERROR, "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()), new CheckExpectedMessageRunnable.CheckExpectedTypesystemMessageRunnable(getRealNodeById("535833678905721167"), MessageStatus.ERROR, "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()), new CheckExpectedMessageRunnable.CheckExpectedTypesystemMessageRunnable(getRealNodeById("535833678905852708"), MessageStatus.ERROR, "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()), new CheckExpectedMessageRunnable.CheckExpectedTypesystemMessageRunnable(getRealNodeById("535833678905854554"), MessageStatus.ERROR, "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()), new CheckExpectedMessageRunnable.CheckExpectedTypesystemMessageRunnable(getRealNodeById("535833678905857278"), MessageStatus.ERROR, "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()), new CheckExpectedMessageRunnable.CheckExpectedTypesystemMessageRunnable(getRealNodeById("535833678905985146"), MessageStatus.ERROR, "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()), new CheckExpectedMessageRunnable.CheckExpectedTypesystemMessageRunnable(getRealNodeById("535833678906356748"), MessageStatus.ERROR, "", myProject.getRepository(), ((ProjectBase) myProject).getPlatform()))).run();
      });
    }

    public SNode resolveData() {
      return SPointerOperations.resolveNode(new SNodePointer("r:6598b34f-7cc0-4465-ba61-6e5504d2a2be(jetbrains.mps.smodel.test.data)", "535833678908145106"), myProject.getRepository());
    }
    public SModel resolveDataModel() {
      return SPointerOperations.resolveModel(PersistenceFacade.getInstance().createModelReference("r:6598b34f-7cc0-4465-ba61-6e5504d2a2be(jetbrains.mps.smodel.test.data)"), myProject.getRepository());
    }
    private static SNode _quotation_createNode_hosvw_a0a0b0c0a0b0d23() {
      SNode quotedNode_1 = null;
      SNode quotedNode_2 = null;
      SNode quotedNode_3 = null;
      SNode quotedNode_4 = null;
      SNode quotedNode_5 = null;
      SNode quotedNode_6 = null;
      SNodeBuilder nb = new SNodeBuilder(null, null).init(MetaAdapterFactory.getConcept(MetaAdapterFactory.getLanguage(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, "jetbrains.mps.baseLanguage"), 0xf8c108ca66L, "ClassConcept"));
      quotedNode_1 = nb.getResult();
      nb.setProperty(MetaAdapterFactory.getProperty(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101d9d3ca30L, 0x73c6d8a8c021f99L, "nonStatic"), "true");
      nb.setProperty(MetaAdapterFactory.getProperty(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c108ca66L, 0xfa5cee6dfaL, "abstractClass"), "false");
      nb.setProperty(MetaAdapterFactory.getProperty(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c108ca66L, 0x11c6af4b284L, "isFinal"), "false");
      nb.setProperty(MetaAdapterFactory.getProperty(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L, 0x110396ec041L, "name"), "Data");
      SNodeBuilder nb1 = new SNodeBuilder(null, null).init(MetaAdapterFactory.getConcept(MetaAdapterFactory.getLanguage(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, "jetbrains.mps.baseLanguage"), 0xf8c108ca68L, "FieldDeclaration"));
      quotedNode_2 = nb1.getResult();
      nb1.setProperty(MetaAdapterFactory.getProperty(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L, 0x110396ec041L, "name"), "MEMBER");
      nb1.setProperty(MetaAdapterFactory.getProperty(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c108ca68L, 0x120c4a208a1L, "isVolatile"), "false");
      nb1.setProperty(MetaAdapterFactory.getProperty(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37a7f6eL, 0x111f9e9f00cL, "isFinal"), "true");
      nb1.setProperty(MetaAdapterFactory.getProperty(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c108ca68L, 0x776fe644792f90adL, "isTransient"), "false");
      SNodeBuilder nb2 = new SNodeBuilder(null, null).init(MetaAdapterFactory.getConcept(MetaAdapterFactory.getLanguage(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, "jetbrains.mps.baseLanguage"), 0x11d47da71ecL, "StringType"));
      quotedNode_4 = nb2.getResult();
      quotedNode_2.addChild(MetaAdapterFactory.getContainmentLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x450368d90ce15bc3L, 0x4ed4d318133c80ceL, "type"), quotedNode_4);
      SNodeBuilder nb3 = new SNodeBuilder(null, null).init(MetaAdapterFactory.getConcept(MetaAdapterFactory.getLanguage(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, "jetbrains.mps.baseLanguage"), 0xf93d565d10L, "StringLiteral"));
      quotedNode_5 = nb3.getResult();
      nb3.setProperty(MetaAdapterFactory.getProperty(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf93d565d10L, 0xf93d565d11L, "value"), "member");
      quotedNode_2.addChild(MetaAdapterFactory.getContainmentLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37a7f6eL, 0xf8c37f506eL, "initializer"), quotedNode_5);
      SNodeBuilder nb4 = new SNodeBuilder(null, null).init(MetaAdapterFactory.getConcept(MetaAdapterFactory.getLanguage(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, "jetbrains.mps.baseLanguage"), 0x10af9581ff1L, "PublicVisibility"));
      quotedNode_6 = nb4.getResult();
      quotedNode_2.addChild(MetaAdapterFactory.getContainmentLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x112670d273fL, 0x112670d886aL, "visibility"), quotedNode_6);
      quotedNode_1.addChild(MetaAdapterFactory.getContainmentLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101d9d3ca30L, 0x4a9a46de59132803L, "member"), quotedNode_2);
      SNodeBuilder nb5 = new SNodeBuilder(null, null).init(MetaAdapterFactory.getConcept(MetaAdapterFactory.getLanguage(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, "jetbrains.mps.baseLanguage"), 0x10af9581ff1L, "PublicVisibility"));
      quotedNode_3 = nb5.getResult();
      quotedNode_1.addChild(MetaAdapterFactory.getContainmentLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x112670d273fL, 0x112670d886aL, "visibility"), quotedNode_3);
      return quotedNode_1;
    }
    private static SNode _quotation_createNode_hosvw_a0a0b0d0a0b0g23() {
      SNode quotedNode_1 = null;
      SNodeBuilder nb = new SNodeBuilder(null, null).init(MetaAdapterFactory.getConcept(MetaAdapterFactory.getLanguage(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, "jetbrains.mps.baseLanguage"), 0x101de48bf9eL, "ClassifierType"));
      quotedNode_1 = nb.getResult();
      nb.setReference(MetaAdapterFactory.getReferenceLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101de48bf9eL, 0x101de490babL, "classifier"), "r:6598b34f-7cc0-4465-ba61-6e5504d2a2be(jetbrains.mps.smodel.test.data)/535833678908607806");
      return quotedNode_1;
    }
    private static SNode _quotation_createNode_hosvw_a0a0b0h0a0b0g23() {
      SNode quotedNode_1 = null;
      SNodeBuilder nb = new SNodeBuilder(null, null).init(MetaAdapterFactory.getConcept(MetaAdapterFactory.getLanguage(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, "jetbrains.mps.baseLanguage"), 0x101de48bf9eL, "ClassifierType"));
      quotedNode_1 = nb.getResult();
      nb.setReference(MetaAdapterFactory.getReferenceLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101de48bf9eL, 0x101de490babL, "classifier"), "r:6598b34f-7cc0-4465-ba61-6e5504d2a2be(jetbrains.mps.smodel.test.data)/535833678908607934");
      return quotedNode_1;
    }
  }

  private static final class LINKS {
    /*package*/ static final SContainmentLink member$L_2d = MetaAdapterFactory.getContainmentLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101d9d3ca30L, 0x4a9a46de59132803L, "member");
    /*package*/ static final SReferenceLink classifier$cxMr = MetaAdapterFactory.getReferenceLink(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101de48bf9eL, 0x101de490babL, "classifier");
  }
}
