diff options
author | Jan Belle | 2019-09-02 13:44:41 +0000 |
---|---|---|
committer | Jan Belle | 2019-09-24 15:12:34 +0000 |
commit | 95ed7880f6542578133a3ebbfdf3ff4b504ede33 (patch) | |
tree | 75085292ef12e650e9b751306f4f820015562e22 /tests/org.eclipse.etrice.ui.behavior.tests/src | |
parent | bb887f9cae8ccb28da86cb0a1a6263420592e23f (diff) | |
download | org.eclipse.etrice-95ed7880f6542578133a3ebbfdf3ff4b504ede33.tar.gz org.eclipse.etrice-95ed7880f6542578133a3ebbfdf3ff4b504ede33.tar.xz org.eclipse.etrice-95ed7880f6542578133a3ebbfdf3ff4b504ede33.zip |
[generator.launch] Fix dependency inference when using modelpath
Change-Id: I03858155628801d91ff92f29d741c2dc8221b6a5
Diffstat (limited to 'tests/org.eclipse.etrice.ui.behavior.tests/src')
-rw-r--r-- | tests/org.eclipse.etrice.ui.behavior.tests/src/org/eclipse/etrice/ui/launch/TestGeneratorLaunchHelper.xtend | 68 |
1 files changed, 56 insertions, 12 deletions
diff --git a/tests/org.eclipse.etrice.ui.behavior.tests/src/org/eclipse/etrice/ui/launch/TestGeneratorLaunchHelper.xtend b/tests/org.eclipse.etrice.ui.behavior.tests/src/org/eclipse/etrice/ui/launch/TestGeneratorLaunchHelper.xtend index 2fbad9fe4..1a0a70a45 100644 --- a/tests/org.eclipse.etrice.ui.behavior.tests/src/org/eclipse/etrice/ui/launch/TestGeneratorLaunchHelper.xtend +++ b/tests/org.eclipse.etrice.ui.behavior.tests/src/org/eclipse/etrice/ui/launch/TestGeneratorLaunchHelper.xtend @@ -19,36 +19,80 @@ import org.junit.Test import static org.eclipse.etrice.generator.launch.GeneratorLaunchHelper.* import static org.junit.Assert.* +import org.eclipse.core.resources.ResourcesPlugin +import org.eclipse.core.runtime.Path +import org.junit.BeforeClass +import org.junit.AfterClass +import java.nio.file.Files class TestGeneratorLaunchHelper { - private def get(Iterable<String> list) { - getAllDependenciesWithinProjects(list).toList + static val basePath = Paths.get('models', 'generatorLaunchHelper') + static val projects = #['project1', 'project2'] + + @BeforeClass + def static void createProjects() { + projects.forEach[ projectName | + val project = ResourcesPlugin.workspace.root.getProject(projectName) + val description = ResourcesPlugin.workspace.newProjectDescription(projectName) => [ + location = new Path(basePath.resolve(projectName).toAbsolutePath.toString) + ] + project.create(description, null) + project.open(null) + ] } @Test def void notExisting() { - #[] => [models|assertEquals(models, get(models))] -// #[''] => [models|assertEquals(models, get(models))] - #['1', '.0ß+/§`}]"°'] => [models|assertEquals(models, get(models))] - #['1.room', '2.etphys', '3.etmap', '4.etconfig', '5.unknown'] => [models|assertEquals(models, get(models))] + #[] => [models|assertEquals(models, get('project2', models))] + #[''] => [models|assertEquals(models, get('project2', models))] + #['1', '.0ß+/§`}]"°'] => [models|assertEquals(models, get('project2', models))] + #['1.room', '2.etphys', '3.etmap', '4.etconfig', '5.unknown'] => [models|assertEquals(models, get('project2', models))] } @Test - def void project() { - val (String) => String toAbsolutePath = [file| Paths.get('models/generatorLaunchHelper', file).toAbsolutePath.toString] - + def void projectURI() { assertEquals( #[ 'project1/System.etmap', 'project1/NotMapped.room', 'project1/Physical.etphys', - 'project1/Dep.room' - ].map[toAbsolutePath.apply(it)], get( + 'project1/Dep.room', + 'project1/NotMappedDep.room', + 'project1/Dep2.room' + ].map[toAbsolutePath], get('project1', #[ 'project1/System.etmap', 'project1/NotMapped.room' - ].map[toAbsolutePath.apply(it)])) + ].map[toAbsolutePath])) } + + @Test + def void projectModelpath() { + assertEquals(#[ + 'project2/src/System.etmap', + 'project2//src/Dep.room', + 'project2/src/Physical.etphys' + ].map[toAbsolutePath], get('project2', #[ + 'project2/src/System.etmap' + ].map[toAbsolutePath]) + ) + } + + @AfterClass + def static void deleteProjects() { + projects.forEach[ projectName | + ResourcesPlugin.workspace.root.getProject(projectName).delete(false, false, null) + Files.delete(basePath.resolve(projectName + '/.project')) + ] + } + + private def get(String project, Iterable<String> list) { + getAllDependenciesWithinProject(ResourcesPlugin.workspace.root.getProject(project), list).toList + } + + private def toAbsolutePath(String file) { + basePath.resolve(file).toAbsolutePath.toString + } } |