package jetbrains.mps.lang.editor.diagram.tests;
/*Generated by MPS */
import jetbrains.mps.MPSLaunch;
import jetbrains.mps.lang.test.runtime.BaseTransformationTest;
import org.junit.Test;
import jetbrains.mps.lang.test.runtime.BaseEditorTestBody;
import jetbrains.mps.baseLanguage.closures.runtime.Wrappers;
import org.jetbrains.mps.openapi.model.SNode;
import jetbrains.mps.smodel.ModelAccess;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations;
import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory;
import jetbrains.jetpad.mapper.Mapper;
import jetbrains.mps.nodeEditor.cells.jetpad.ConnectorCell;
import junit.framework.Assert;
import jetbrains.mps.lang.editor.diagram.runtime.jetpad.views.ConnectorDecoratorView;
import jetbrains.jetpad.projectional.view.View;
import jetbrains.mps.internal.collections.runtime.Sequence;
import jetbrains.mps.nodeEditor.cells.jetpad.JetpadUtils;
import jetbrains.mps.internal.collections.runtime.IWhereFilter;
import jetbrains.mps.lang.editor.diagram.runtime.jetpad.views.CrossView;
@MPSLaunch
public class LinkDecoratorTest_Test extends BaseTransformationTest {
@Test
public void test_LinkDecoratorTest() throws Throwable {
initTest("${mps_home}", "r:e41d7e03-7ef3-4161-a48a-e48d8152e422(jetbrains.mps.lang.editor.diagram.tests@tests)");
runTest("jetbrains.mps.lang.editor.diagram.tests.LinkDecoratorTest_Test$TestBody", "testMethod", false);
}
@MPSLaunch
public static class TestBody extends BaseEditorTestBody {
@Override
public void testMethodImpl() throws Exception {
initEditorComponent("1638882350373488135", "1560508619093517333");
final Wrappers._T<SNode> node = new Wrappers._T<SNode>();
ModelAccess.instance().runReadAction(new Runnable() {
public void run() {
node.value = SNodeOperations.cast(getNodeById("1638882350373488142"), SNodeOperations.asSConcept(MetaAdapterFactory.getConcept(MetaAdapterFactory.getLanguage(0x50560c9658e49c5L, 0xb8e79e4db4c7e97fL, "jetbrains.mps.lang.editor.diagram.testLanguage"), 0x4ce40ecaf4106a9bL, "OutputToInputPortConnector")));
}
});
Mapper descendantMapper;
descendantMapper = DecoratorTestRunner.prepareAndGetMapper(node.value, getEditorComponent(), ConnectorCell.class);
Assert.assertTrue(descendantMapper != null);
Assert.assertTrue(descendantMapper.getTarget() != null);
Assert.assertTrue(descendantMapper.getTarget() instanceof ConnectorDecoratorView);
ConnectorDecoratorView connectorDecoratorView = (ConnectorDecoratorView) descendantMapper.getTarget();
Assert.assertTrue(connectorDecoratorView.hasError.get());
View cross = Sequence.fromIterable(JetpadUtils.getAllChildren(connectorDecoratorView)).findFirst(new IWhereFilter<View>() {
public boolean accept(View it) {
return it instanceof CrossView;
}
});
Assert.assertTrue(cross != null);
Assert.assertTrue(cross.visible().get());
}
}
}