package tests.testDepViewer.test;
/*Generated by MPS */
import jetbrains.mps.MPSLaunch;
import jetbrains.mps.lang.test.runtime.BaseTransformationTest;
import org.junit.Test;
import jetbrains.mps.lang.test.runtime.BaseTestBody;
import org.jetbrains.mps.openapi.model.SModel;
import junit.framework.Assert;
import jetbrains.mps.ide.platform.dependencyViewer.ReferencesFinder;
import jetbrains.mps.ide.platform.dependencyViewer.DependencyViewerScope;
import org.jetbrains.mps.openapi.model.SNode;
import jetbrains.mps.ide.findusages.model.SearchResults;
import jetbrains.mps.progress.EmptyProgressMonitor;
import jetbrains.mps.smodel.ModuleRepositoryFacade;
@MPSLaunch
public class TestDepViewer_Test extends BaseTransformationTest {
@Test
public void test_testPrecondition() throws Throwable {
initTest("${mps_home}", "r:819dd2c2-a64b-45e6-ae94-42a9c653de39(tests.testDepViewer.test@tests)", false);
runTest("tests.testDepViewer.test.TestDepViewer_Test$TestBody", "test_testPrecondition", true);
}
@Test
public void test_testModel1DependsOnSomething() throws Throwable {
initTest("${mps_home}", "r:819dd2c2-a64b-45e6-ae94-42a9c653de39(tests.testDepViewer.test@tests)", false);
runTest("tests.testDepViewer.test.TestDepViewer_Test$TestBody", "test_testModel1DependsOnSomething", true);
}
@Test
public void test_testModel3DoesntDependOnAnything() throws Throwable {
initTest("${mps_home}", "r:819dd2c2-a64b-45e6-ae94-42a9c653de39(tests.testDepViewer.test@tests)", false);
runTest("tests.testDepViewer.test.TestDepViewer_Test$TestBody", "test_testModel3DoesntDependOnAnything", true);
}
@Test
public void test_testModel1DependsOnModel2() throws Throwable {
initTest("${mps_home}", "r:819dd2c2-a64b-45e6-ae94-42a9c653de39(tests.testDepViewer.test@tests)", false);
runTest("tests.testDepViewer.test.TestDepViewer_Test$TestBody", "test_testModel1DependsOnModel2", true);
}
@Test
public void test_testModel1DoesntDependOnModel3() throws Throwable {
initTest("${mps_home}", "r:819dd2c2-a64b-45e6-ae94-42a9c653de39(tests.testDepViewer.test@tests)", false);
runTest("tests.testDepViewer.test.TestDepViewer_Test$TestBody", "test_testModel1DoesntDependOnModel3", true);
}
@MPSLaunch
public static class TestBody extends BaseTestBody {
public void test_testPrecondition() throws Exception {
SModel testModel1 = this.model1();
SModel testModel2 = this.model2();
Assert.assertNotNull(testModel1);
Assert.assertNotNull(testModel2);
}
public void test_testModel1DependsOnSomething() throws Exception {
ReferencesFinder finder = new ReferencesFinder();
DependencyViewerScope testScope = new DependencyViewerScope(myProject.getRepository());
testScope.add(this.model1());
Iterable<SNode> nodes = testScope.getNodes();
SearchResults targetSearchResults = finder.findRefsFromScopeToOuter(nodes, testScope, new EmptyProgressMonitor());
Assert.assertFalse(targetSearchResults.getSearchResults().isEmpty());
}
public void test_testModel3DoesntDependOnAnything() throws Exception {
ReferencesFinder finder = new ReferencesFinder();
DependencyViewerScope testScope = new DependencyViewerScope(myProject.getRepository());
testScope.add(this.model3());
Iterable<SNode> nodes = testScope.getNodes();
SearchResults targetSearchResults = finder.findRefsFromScopeToOuter(nodes, testScope, new EmptyProgressMonitor());
Assert.assertTrue(targetSearchResults.getSearchResults().isEmpty());
}
public void test_testModel1DependsOnModel2() throws Exception {
ReferencesFinder finder = new ReferencesFinder();
DependencyViewerScope testScope = new DependencyViewerScope(myProject.getRepository());
testScope.add(this.model1());
DependencyViewerScope targetScope = new DependencyViewerScope(myProject.getRepository());
targetScope.add(this.model2());
Iterable<SNode> nodes = testScope.getNodes();
SearchResults refSearchResults = finder.getRefsBetweenScopes(nodes, testScope, targetScope, new EmptyProgressMonitor());
Assert.assertFalse(refSearchResults.getSearchResults().isEmpty());
}
public void test_testModel1DoesntDependOnModel3() throws Exception {
ReferencesFinder finder = new ReferencesFinder();
DependencyViewerScope testScope = new DependencyViewerScope(myProject.getRepository());
testScope.add(this.model1());
DependencyViewerScope targetScope = new DependencyViewerScope(myProject.getRepository());
targetScope.add(this.model3());
Iterable<SNode> nodes = testScope.getNodes();
SearchResults refSearchResults = finder.getRefsBetweenScopes(nodes, testScope, targetScope, new EmptyProgressMonitor());
Assert.assertTrue(refSearchResults.getSearchResults().isEmpty());
}
public SModel model1() {
return new ModuleRepositoryFacade(myProject.getRepository()).getModelByName("tests.testDepViewer.model1");
}
public SModel model2() {
return new ModuleRepositoryFacade(myProject.getRepository()).getModelByName("tests.testDepViewer.model2");
}
public SModel model3() {
return new ModuleRepositoryFacade(myProject.getRepository()).getModelByName("tests.testDepViewer.model3");
}
}
}