blob: 4df866e4904792a9293f7b82d02d4eb9d242ea08 [file] [log] [blame]
package org.eclipse.emf.parsley.dsl.tests
import org.eclipse.emf.parsley.dsl.ui.wizard.EmfParsleyDslNewProjectFiles
import org.junit.Test
import static extension org.junit.Assert.*
/**
* @author Lorenzo Bettini - Initial contribution and API
*/
class EmfParsleyDslNewProjectFilesTests {
val generator = new EmfParsleyDslNewProjectFiles
@Test
def void testDslModuleWithoutAdditionalContents() {
generator.genEmptyDslModule("testproject").assertGeneratedContentEqualsTo(
'''
/* testproject Emf Parsley Dsl Module file */
module testproject {
}
'''
)
}
@Test
def void testDslModuleWithFQN() {
generator.genEmptyDslModule("mypackage.testproject").assertGeneratedContentEqualsTo(
'''
/* mypackage.testproject Emf Parsley Dsl Module file */
module mypackage.testproject {
}
'''
)
}
@Test
def void testDslModuleWithView() {
generator.genDslModuleWithViewPart("mypackage.testproject", "my.views.MyView", "").assertGeneratedContentEqualsTo(
'''
import my.views.MyView
/* mypackage.testproject Emf Parsley Dsl Module file */
module mypackage.testproject {
parts {
viewpart mypackage.testproject {
viewname "Testproject"
viewclass MyView
}
}
}
'''
)
}
@Test
def void testGenConfigurator() {
generator.genConfigurator(
'''
«generator.genResourceURI("MyClass")»
«generator.genEClass("MyClass")»
'''
).assertGeneratedContentEqualsTo(
'''
configurator {
resourceURI {
MyClass -> {
// TODO create and return a org.eclipse.emf.common.util.URI
return null;
}
}
eClass {
MyClass -> {
// TODO return the EClass of objects to be shown
}
}
}
'''
)
}
@Test
def void testGenResourceManager() {
generator.genResourceManager(
generator.genInitializeResource
).assertGeneratedContentEqualsTo(
'''
resourceManager {
initializeResource {
// Optional: initialize an empty Resource
// 'it' is of type Resource
// e.g., it.getContents += myFactory.createMyClass
}
}
'''
)
}
@Test
def void testViewGen() {
generator.genViewClass("mypackage.testproject", "MyClass", "my.views.MyBaseClass").assertGeneratedContentEqualsTo(
'''
package mypackage.testproject;
public class MyClass extends my.views.MyBaseClass {
}
'''
)
}
def private assertGeneratedContentEqualsTo(CharSequence actual, CharSequence expected) {
expected.toString.assertEquals(actual.toString)
}
}