Registering files needed by a dsl for Unit tests [message #1853706] |
Thu, 14 July 2022 08:08 |
Loredana Hozan Messages: 34 Registered: January 2019 |
Member |
|
|
Hello,
I have a dsl language A (datamodel) which generates dsl language B (model), in language A i can declare csv files (which are located in src/main/reosurces/csvFiles) and the data from the csvs should be visible in language B. The functionality works, but when i try to do unit tests for the functionality, it looks like the csv files are not registered, because the values from the csvs are not present in language B, and i am not sure what i can do to register the csvs. The code for the test is as follows:
@Inject
extension DatamodelDslGenerator generator
@Test
def void testGeneration(){
val fsa = new InMemoryFileSystemAccess()
// Guice.createInjector(new AbstractGenericModule() {
//
// def Class<? extends IEncodingProvider> bindIEncodingProvider() {
// return IEncodingProvider.Runtime
// }
//
// }).injectMembers(fsa);
// fsa.files.put("csvFiles/CommitmentItemType.csv", fsa.readTextFile("CommitmentItemType.csv" ,"csvFiles/"))
// fsa.files.put("src/main/resources/csvFiles/ProductCode.csv", fsa.readTextFile("src/main/resources/csvFiles/ProductCode.csv"))
// fsa.files.put("C:/Dev/com.datamodel.tests/src/main/resources/csvFiles/ProductCode.csv", fsa.readTextFile("C:/Dev/com.datamodel.tests/src/main/resources/csvFiles/ProductCode.csv"))
// fsa.files.put("ProductCode.csv", fsa.readTextFile("ProductCode.csv"))
fsa.generateFile("pom.xml", "CONFIG", dslTestModel.pomFileContent)
generator.doGenerate(resourceSetProvider.get.getResource(URI::createFileURI("resource/myTest.datamodel"), true), fsa, new GeneratorContext())
Assert::assertEquals(
dslTestModel.modelForTestGeneration, fsa.files.get(IFileSystemAccess::DEFAULT_OUTPUT+"myTest.model").toString
)
I tried to register the csv files with the fsa using different paths but i get an error stating that the file can not be found : org.eclipse.xtext.util.RuntimeIOException: File not found: csvFiles/CommitmentItemType.csv.
Any idea on how i can register the csv files?
|
|
|
|
Powered by
FUDForum. Page generated in 0.03216 seconds