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.jetpad.mapper.Mapper;
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.mps.nodeEditor.cells.jetpad.BlockCell;
import junit.framework.Assert;
import jetbrains.mps.lang.editor.diagram.runtime.jetpad.views.NodeDecoratorView;
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.SelectionFrameView;
@MPSLaunch
public class BlockDecoratorTest_Test extends BaseTransformationTest {
@Test
public void test_BlockDecoratorTest() 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.BlockDecoratorTest_Test$TestBody", "testMethod", false);
}
@MPSLaunch
public static class TestBody extends BaseEditorTestBody {
@Override
public void testMethodImpl() throws Exception {
initEditorComponent("141381309807688262", "141381309807688282");
Mapper descendantMapper;
final Wrappers._T<SNode> node = new Wrappers._T<SNode>();
ModelAccess.instance().runReadAction(new Runnable() {
public void run() {
node.value = SNodeOperations.cast(getNodeById("141381309807688263"), SNodeOperations.asSConcept(MetaAdapterFactory.getConcept(MetaAdapterFactory.getLanguage(0x50560c9658e49c5L, 0xb8e79e4db4c7e97fL, "jetbrains.mps.lang.editor.diagram.testLanguage"), 0xb6a495df3833bdeL, "NodeWithName")));
}
});
descendantMapper = DecoratorTestRunner.prepareAndGetMapper(node.value, getEditorComponent(), BlockCell.class);
Assert.assertTrue(descendantMapper != null);
Assert.assertTrue(descendantMapper.getTarget() != null);
Assert.assertTrue(descendantMapper.getTarget() instanceof NodeDecoratorView);
NodeDecoratorView nodeDecoratorView = ((NodeDecoratorView) descendantMapper.getTarget());
Assert.assertTrue(nodeDecoratorView.hasError.get());
View errorView = Sequence.fromIterable(JetpadUtils.getAllChildren(nodeDecoratorView)).findFirst(new IWhereFilter<View>() {
public boolean accept(View it) {
return it instanceof SelectionFrameView;
}
});
Assert.assertTrue(errorView != null);
Assert.assertTrue(errorView.visible().get());
}
}
}