Skip to content

Commit b2633ac

Browse files
authored
Merge pull request #118 from ipa-nhg/XtextTests
add auto-components generator tests
2 parents ee0bec3 + 6f04a22 commit b2633ac

File tree

4 files changed

+48
-5
lines changed

4 files changed

+48
-5
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
ComponentInterface { name test_node
2+
RosPublishers{
3+
RosPublisher "scan" { RefPublisher "test_pkg.test_node.test_node.scan"}
4+
}
5+
RosSubscribers{
6+
RosSubscriber "power_state" { RefSubscriber "test_pkg.test_node.test_node.power_state"}
7+
}
8+
RosSrvServers{
9+
RosServiceServer "setBool" { RefServer "test_pkg.test_node.test_node.setBool"}
10+
}
11+
RosSrvClients{
12+
RosServiceClient "init" { RefClient "test_pkg.test_node.test_node.init"}
13+
}
14+
15+
RosParameters{
16+
RosParameter "string_test" { RefParameter "test_pkg.test_node.test_node.string_test"},
17+
RosParameter "bool_tets" { RefParameter "test_pkg.test_node.test_node.bool_tets"},
18+
RosParameter "array_tets" { RefParameter "test_pkg.test_node.test_node.array_tets"},
19+
RosParameter "base64_test" { RefParameter "test_pkg.test_node.test_node.base64_test"},
20+
RosParameter "double_test" { RefParameter "test_pkg.test_node.test_node.double_test"},
21+
RosParameter "int_test" { RefParameter "test_pkg.test_node.test_node.int_test"},
22+
RosParameter "list_test" { RefParameter "test_pkg.test_node.test_node.list_test"},
23+
RosParameter "struc_test" { RefParameter "test_pkg.test_node.test_node.struc_test"}
24+
}
25+
}

plugins/de.fraunhofer.ipa.ros.xtext.tests/src/de/fraunhofer/ipa/ros/tests/RosGeneratorTest.xtend

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,11 @@ import ros.PackageSet
1212
import org.eclipse.xtext.generator.InMemoryFileSystemAccess
1313
import org.eclipse.xtext.generator.GeneratorContext
1414
import de.fraunhofer.ipa.roscode.generator.CustomOutputProvider
15-
1615
import de.fraunhofer.ipa.roscode.generator.Ros2CodeGenerator
1716
import java.nio.file.Files
1817
import java.nio.file.Paths
18+
import de.fraunhofer.ipa.ros.generator.RosGenerator
19+
import de.fraunhofer.ipa.ros.generator.CICustomOutputProvider
1920

2021
@RunWith(XtextRunner)
2122
@InjectWith(RosInjectorProvider)
@@ -25,6 +26,9 @@ class RosGeneratorTest {
2526

2627
@Inject
2728
Ros2CodeGenerator ros2Generator
29+
30+
@Inject
31+
RosGenerator CIGenerator
2832

2933
@Inject
3034
ParseHelper<PackageSet> parseHelper
@@ -64,5 +68,19 @@ class RosGeneratorTest {
6468
new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR, 'ros2generator', 'test_node.cpp'))).trim,
6569
fsa.textFiles.get(CustomOutputProvider::DEFAULT_OUTPUT + "test_node.cpp").toString.trim)
6670
}
71+
72+
@Test
73+
def void testGeneratedCI() {
74+
val resourceSet = rosTestingUtils.getMessagesResourceSet
75+
val fileContent = new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR, 'test.ros')))
76+
val model = parseHelper.parse(fileContent, resourceSet)
77+
78+
val fsa = new InMemoryFileSystemAccess
79+
CIGenerator.doGenerate(model.eResource, fsa, new GeneratorContext)
80+
Assert.assertTrue(fsa.textFiles.containsKey(CICustomOutputProvider::COM_OUTPUT + "test_node.componentinterface"))
81+
Assert.assertEquals(
82+
new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR, 'components', 'test_node.componentinterface'))).trim,
83+
fsa.textFiles.get(CICustomOutputProvider::COM_OUTPUT + "test_node.componentinterface").toString.trim)
84+
}
6785

6886
}

plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/RosRuntimeModule.xtend

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
package de.fraunhofer.ipa.ros
55

66
import com.google.inject.Binder
7-
import de.fraunhofer.ipa.ros.generator.CustomOutputProvider
7+
import de.fraunhofer.ipa.ros.generator.CICustomOutputProvider
88
import org.eclipse.xtext.conversion.IValueConverterService
99
import org.eclipse.xtext.generator.IOutputConfigurationProvider
1010

@@ -15,7 +15,7 @@ class RosRuntimeModule extends AbstractRosRuntimeModule {
1515

1616
override void configure(Binder binder) {
1717
super.configure(binder)
18-
binder.bind(IOutputConfigurationProvider).to(CustomOutputProvider).asEagerSingleton()
18+
binder.bind(IOutputConfigurationProvider).to(CICustomOutputProvider).asEagerSingleton()
1919
}
2020

2121
}

plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/generator/RosGenerator.xtend

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import org.eclipse.xtext.generator.OutputConfiguration
1313
import ros.Node
1414
import ros.Package
1515

16-
class CustomOutputProvider implements IOutputConfigurationProvider {
16+
class CICustomOutputProvider implements IOutputConfigurationProvider {
1717
public final static String COM_OUTPUT = "COM_OUTPUT"
1818

1919

@@ -57,7 +57,7 @@ class RosGenerator extends AbstractGenerator {
5757
}
5858
}
5959
for (node : resource.allContents.toIterable.filter(Node)){
60-
fsa.generateFile(node.getName()+".componentinterface",CustomOutputProvider::COM_OUTPUT,compile(node,package_name,artifact_name))
60+
fsa.generateFile(node.getName()+".componentinterface",CICustomOutputProvider::COM_OUTPUT,compile(node,package_name,artifact_name))
6161
}
6262
}
6363

0 commit comments

Comments
 (0)