use of com.vaadin.generator.metadata.ComponentFunctionParameterData in project flow by vaadin.
the class ComponentGeneratorTest method classContainsOverloadedMethodsForMethodsThatAcceptMultipleTypes.
@Test
public void classContainsOverloadedMethodsForMethodsThatAcceptMultipleTypes() {
ComponentFunctionParameterData firstParameter = new ComponentFunctionParameterData();
firstParameter.setName("firstParam");
firstParameter.setType(new HashSet<>(Arrays.asList(ComponentBasicType.STRING, ComponentBasicType.BOOLEAN)));
ComponentFunctionParameterData secondParameter = new ComponentFunctionParameterData();
secondParameter.setName("secondParam");
secondParameter.setType(new HashSet<>(Arrays.asList(ComponentBasicType.STRING, ComponentBasicType.BOOLEAN)));
ComponentFunctionData function = new ComponentFunctionData();
function.setName("callSomething");
function.setParameters(Arrays.asList(firstParameter, secondParameter));
componentMetadata.setMethods(Collections.singletonList(function));
String generatedClass = generator.generateClass(componentMetadata, "com.my.test", null);
generatedClass = ComponentGeneratorTestUtils.removeIndentation(generatedClass);
Assert.assertTrue(generatedClass.contains("public void callSomething(String firstParam, String secondParam)"));
Assert.assertTrue(generatedClass.contains("public void callSomething(String firstParam, boolean secondParam)"));
Assert.assertTrue(generatedClass.contains("public void callSomething(boolean firstParam, String secondParam)"));
Assert.assertTrue(generatedClass.contains("public void callSomething(boolean firstParam, boolean secondParam)"));
}
use of com.vaadin.generator.metadata.ComponentFunctionParameterData in project flow by vaadin.
the class ComponentGeneratorTest method generateClassWithMethodWithParameters_methodContainsParamInJavaDoc.
@Test
public void generateClassWithMethodWithParameters_methodContainsParamInJavaDoc() {
ComponentFunctionData functionData = new ComponentFunctionData();
functionData.setName("my-method");
functionData.setDescription("This is my method documentation.");
ComponentFunctionParameterData parameter = new ComponentFunctionParameterData();
parameter.setName("text");
parameter.setType(Collections.singleton(ComponentBasicType.STRING));
functionData.setParameters(Collections.singletonList(parameter));
componentMetadata.setMethods(Collections.singletonList(functionData));
String generatedClass = generator.generateClass(componentMetadata, "com.my.test", null);
Assert.assertTrue("JavaDoc for method parameter text was not found", generatedClass.contains("* @param " + parameter.getName()));
}
Aggregations