Search in sources :

Example 1 with DefaultFunctionDataType

use of org.mule.runtime.core.internal.metadata.DefaultFunctionDataType in project mule by mulesoft.

the class DataTypeBuilderTestCase method templateFunction.

@Test
public void templateFunction() {
    FunctionParameter functionParameter = new FunctionParameter("fst", NUMBER);
    final DataType template = DataType.builder().functionType(SomeFunction.class).returnType(STRING).parametersType(singletonList(functionParameter)).build();
    final DataType dataType = DataType.builder(template).build();
    assertThat(dataType, instanceOf(DefaultFunctionDataType.class));
    assertThat(dataType.getType(), is(equalTo(SomeFunction.class)));
    assertThat(((DefaultFunctionDataType) dataType).getReturnType().get(), is(STRING));
    assertThat(((DefaultFunctionDataType) dataType).getParameters(), hasItems(functionParameter));
}
Also used : DefaultFunctionDataType(org.mule.runtime.core.internal.metadata.DefaultFunctionDataType) SimpleDataType(org.mule.runtime.core.internal.metadata.SimpleDataType) FunctionDataType(org.mule.runtime.api.metadata.FunctionDataType) DefaultMapDataType(org.mule.runtime.core.internal.metadata.DefaultMapDataType) DataType(org.mule.runtime.api.metadata.DataType) DefaultCollectionDataType(org.mule.runtime.core.internal.metadata.DefaultCollectionDataType) DefaultFunctionDataType(org.mule.runtime.core.internal.metadata.DefaultFunctionDataType) FunctionParameter(org.mule.runtime.api.metadata.FunctionParameter) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)1 DataType (org.mule.runtime.api.metadata.DataType)1 FunctionDataType (org.mule.runtime.api.metadata.FunctionDataType)1 FunctionParameter (org.mule.runtime.api.metadata.FunctionParameter)1 DefaultCollectionDataType (org.mule.runtime.core.internal.metadata.DefaultCollectionDataType)1 DefaultFunctionDataType (org.mule.runtime.core.internal.metadata.DefaultFunctionDataType)1 DefaultMapDataType (org.mule.runtime.core.internal.metadata.DefaultMapDataType)1 SimpleDataType (org.mule.runtime.core.internal.metadata.SimpleDataType)1