mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-02 17:19:37 +00:00
Cleaned and adjusted the FunctionProviders to the new concept
This commit is contained in:
1 parent
8e1f731286
commit
2a85dd66e7
13 files changed
+107
-105
No files matched your search
+2
-2
@@ -9,7 +9,7 @@ import org.junit.Test;
|
||||
import com.sap.sse.datamining.components.FilterCriteria;
|
||||
import com.sap.sse.datamining.factories.FunctionFactory;
|
||||
import com.sap.sse.datamining.functions.Function;
|
||||
import com.sap.sse.datamining.impl.functions.DeclaringTypeOrParameterTypeCriteria;
|
||||
import com.sap.sse.datamining.impl.functions.IsDeclaringTypeFilterCriteria;
|
||||
import com.sap.sse.datamining.test.function.test_classes.DataTypeInterface;
|
||||
import com.sap.sse.datamining.test.function.test_classes.DataTypeWithContext;
|
||||
import com.sap.sse.datamining.test.function.test_classes.DataTypeWithContextImpl;
|
||||
@@ -36,7 +36,7 @@ public class TestDeclaringTypeOrParameterTypeCriteria {
|
||||
|
||||
@Test
|
||||
public void testMatchingTypeWithBigHierarchy() {
|
||||
FilterCriteria<Function<?>> criteria = new DeclaringTypeOrParameterTypeCriteria(DataTypeWithContextImpl.class);
|
||||
FilterCriteria<Function<?>> criteria = new IsDeclaringTypeFilterCriteria(DataTypeWithContextImpl.class);
|
||||
|
||||
assertThat(criteria.matches(getSpeedInKnotsValue), is(true));
|
||||
assertThat(criteria.matches(getRaceNameLengthValue), is(true));
|
||||
|
||||
+9
-17
@@ -24,7 +24,6 @@ import com.sap.sse.datamining.shared.dto.FunctionDTO;
|
||||
import com.sap.sse.datamining.test.function.test_classes.ContainerElement;
|
||||
import com.sap.sse.datamining.test.function.test_classes.DataTypeWithContext;
|
||||
import com.sap.sse.datamining.test.function.test_classes.DataTypeWithContextImpl;
|
||||
import com.sap.sse.datamining.test.function.test_classes.DataTypeWithContextProcessor;
|
||||
import com.sap.sse.datamining.test.function.test_classes.ExtendingInterface;
|
||||
import com.sap.sse.datamining.test.function.test_classes.ExternalLibraryClass;
|
||||
import com.sap.sse.datamining.test.function.test_classes.MarkedContainer;
|
||||
@@ -46,7 +45,6 @@ public class TestFunctionProvider {
|
||||
Collection<Class<?>> internalClassesToScan = new HashSet<>();
|
||||
internalClassesToScan.add(SimpleClassWithMarkedMethods.class);
|
||||
internalClassesToScan.add(DataTypeWithContext.class);
|
||||
internalClassesToScan.add(DataTypeWithContextProcessor.class);
|
||||
internalClassesToScan.add(ExtendingInterface.class);
|
||||
internalClassesToScan.add(MarkedContainer.class);
|
||||
internalClassesToScan.add(ContainerElement.class);
|
||||
@@ -59,10 +57,9 @@ public class TestFunctionProvider {
|
||||
|
||||
@Test
|
||||
public void testGetDimensionsForType() {
|
||||
FunctionProvider functionProvider = new RegistryFunctionsProvider(functionRegistry, FunctionTestsUtil.getExecutor());
|
||||
FunctionProvider functionProvider = new RegistryFunctionsProvider(functionRegistry);
|
||||
|
||||
Collection<Function<?>> expectedDimensions = FunctionTestsUtil.getDimensionsFor(DataTypeWithContext.class);
|
||||
|
||||
Collection<Function<?>> providedDimensions = new HashSet<>(functionProvider.getDimensionsFor(DataTypeWithContext.class));
|
||||
assertThat(providedDimensions, is(expectedDimensions));
|
||||
|
||||
@@ -72,18 +69,13 @@ public class TestFunctionProvider {
|
||||
|
||||
@Test
|
||||
public void testGetFunctionsForType() {
|
||||
FunctionProvider functionProvider = new RegistryFunctionsProvider(functionRegistry, FunctionTestsUtil.getExecutor());
|
||||
Method getRegattaAndRaceName = FunctionTestsUtil.getMethodFromClass(DataTypeWithContextProcessor.class, "getRegattaAndRaceName", DataTypeWithContext.class);
|
||||
FunctionProvider functionProvider = new RegistryFunctionsProvider(functionRegistry);
|
||||
|
||||
Collection<Function<?>> expectedFunctions = FunctionTestsUtil.getMarkedMethodsOfDataTypeWithContextAndItsSupertypes();
|
||||
expectedFunctions.add(FunctionFactory.createMethodWrappingFunction(getRegattaAndRaceName));
|
||||
|
||||
Collection<Function<?>> providedFunctions = new HashSet<>(functionProvider.getFunctionsFor(DataTypeWithContext.class));
|
||||
assertThat(providedFunctions, is(expectedFunctions));
|
||||
|
||||
expectedFunctions = FunctionTestsUtil.getMarkedMethodsOfDataTypeWithContextImplAndItsSupertypes();
|
||||
expectedFunctions.add(FunctionFactory.createMethodWrappingFunction(getRegattaAndRaceName));
|
||||
|
||||
providedFunctions = new HashSet<>(functionProvider.getFunctionsFor(DataTypeWithContextImpl.class));
|
||||
assertThat(providedFunctions, is(expectedFunctions));
|
||||
}
|
||||
@@ -94,9 +86,9 @@ public class TestFunctionProvider {
|
||||
Function<Object> getRegattaName = FunctionFactory.createMethodWrappingFunction(getRegattaNameMethod);
|
||||
FunctionDTO getRegattaNameDTO = FunctionDTOFactory.createFunctionDTO(getRegattaName, Locale.ENGLISH, stringMessages);
|
||||
|
||||
FunctionProvider functionProvider = new RegistryFunctionsProvider(functionRegistry, FunctionTestsUtil.getExecutor());
|
||||
FunctionProvider functionProvider = new RegistryFunctionsProvider(functionRegistry);
|
||||
@SuppressWarnings("unchecked") // Hamcrest requires type matching of actual and expected type, so the Functions have to be specific (without <?>)
|
||||
Function<Object> providedFunction = (Function<Object>) functionProvider.getFunctionFor(getRegattaNameDTO);
|
||||
Function<Object> providedFunction = (Function<Object>) functionProvider.getFunctionForDTO(getRegattaNameDTO);
|
||||
assertThat(providedFunction, is(getRegattaName));
|
||||
}
|
||||
|
||||
@@ -106,19 +98,19 @@ public class TestFunctionProvider {
|
||||
Function<Object> increment = FunctionFactory.createMethodWrappingFunction(incrementMethod);
|
||||
FunctionDTO incrementDTO = FunctionDTOFactory.createFunctionDTO(increment, Locale.ENGLISH, stringMessages);
|
||||
|
||||
FunctionProvider functionProvider = new RegistryFunctionsProvider(functionRegistry, FunctionTestsUtil.getExecutor());
|
||||
assertThat(functionProvider.getFunctionFor(incrementDTO), is(nullValue()));
|
||||
FunctionProvider functionProvider = new RegistryFunctionsProvider(functionRegistry);
|
||||
assertThat(functionProvider.getFunctionForDTO(incrementDTO), is(nullValue()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetFunctionForNullDTO() {
|
||||
FunctionProvider functionProvider = new RegistryFunctionsProvider(functionRegistry, FunctionTestsUtil.getExecutor());
|
||||
assertThat(functionProvider.getFunctionFor(null), is(nullValue()));
|
||||
FunctionProvider functionProvider = new RegistryFunctionsProvider(functionRegistry);
|
||||
assertThat(functionProvider.getFunctionForDTO(null), is(nullValue()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetTransitiveDimension() throws ClassCastException, NoSuchMethodException, SecurityException {
|
||||
FunctionProvider functionProvider = new RegistryFunctionsProvider(functionRegistry, FunctionTestsUtil.getExecutor());
|
||||
FunctionProvider functionProvider = new RegistryFunctionsProvider(functionRegistry);
|
||||
|
||||
Collection<Function<?>> expectedDimensions = new HashSet<>();
|
||||
expectedDimensions.add(FunctionFactory.createMethodWrappingFunction(ContainerElement.class.getMethod("getName",
|
||||
|
||||
+2
-4
@@ -13,7 +13,6 @@ import com.sap.sse.datamining.functions.Function;
|
||||
import com.sap.sse.datamining.functions.FunctionRegistry;
|
||||
import com.sap.sse.datamining.impl.functions.SimpleFunctionRegistry;
|
||||
import com.sap.sse.datamining.test.function.test_classes.DataTypeWithContext;
|
||||
import com.sap.sse.datamining.test.function.test_classes.DataTypeWithContextProcessor;
|
||||
import com.sap.sse.datamining.test.function.test_classes.ExternalLibraryClass;
|
||||
import com.sap.sse.datamining.test.function.test_classes.SimpleClassWithMarkedMethods;
|
||||
import com.sap.sse.datamining.test.util.ConcurrencyTestsUtil;
|
||||
@@ -30,7 +29,6 @@ public class TestSimpleFunctionRegistryAccess {
|
||||
Collection<Class<?>> internalClassesToScan = new HashSet<>();
|
||||
internalClassesToScan.add(SimpleClassWithMarkedMethods.class);
|
||||
internalClassesToScan.add(DataTypeWithContext.class);
|
||||
internalClassesToScan.add(DataTypeWithContextProcessor.class);
|
||||
functionRegistry.registerAllWithInternalFunctionPolicy(internalClassesToScan);
|
||||
|
||||
Collection<Class<?>> externalClassesToScan = new HashSet<>();
|
||||
@@ -42,8 +40,8 @@ public class TestSimpleFunctionRegistryAccess {
|
||||
public void testGetAllDimensions() {
|
||||
Collection<Function<?>> modifiableExpectedDimensions = FunctionTestsUtil.getDimensionsFor(DataTypeWithContext.class);
|
||||
modifiableExpectedDimensions.addAll(FunctionTestsUtil.getDimensionsFor(SimpleClassWithMarkedMethods.class));
|
||||
Iterable<Function<?>> expectedDimensions = modifiableExpectedDimensions;
|
||||
assertThat(functionRegistry.getAllDimensions(), is(expectedDimensions));
|
||||
Collection<Function<?>> expectedDimensions = modifiableExpectedDimensions;
|
||||
assertThat(functionRegistry.getAllDimensions(), is(expectedDimensions));
|
||||
}
|
||||
|
||||
}
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
package com.sap.sse.datamining.test.function.test_classes;
|
||||
|
||||
import com.sap.sse.datamining.shared.annotations.Dimension;
|
||||
|
||||
public class DataTypeWithContextProcessor {
|
||||
|
||||
@Dimension(messageKey="regattaAndRaceName")
|
||||
public String getRegattaAndRaceName(DataTypeWithContext dataEntry) {
|
||||
return dataEntry.getRegattaName() + " - " + dataEntry.getRaceName();
|
||||
}
|
||||
|
||||
}
|
||||
-2
@@ -12,7 +12,6 @@ import com.sap.sse.datamining.functions.Function;
|
||||
import com.sap.sse.datamining.test.function.test_classes.DataTypeInterface;
|
||||
import com.sap.sse.datamining.test.function.test_classes.DataTypeWithContext;
|
||||
import com.sap.sse.datamining.test.function.test_classes.DataTypeWithContextImpl;
|
||||
import com.sap.sse.datamining.test.function.test_classes.DataTypeWithContextProcessor;
|
||||
import com.sap.sse.datamining.test.function.test_classes.ExtendingInterface;
|
||||
import com.sap.sse.datamining.test.function.test_classes.ExternalLibraryClass;
|
||||
import com.sap.sse.datamining.test.function.test_classes.SimpleClassWithMarkedMethods;
|
||||
@@ -90,7 +89,6 @@ public class FunctionTestsUtil extends ConcurrencyTestsUtil {
|
||||
dimensions.add(FunctionFactory.createMethodWrappingFunction(getMethodFromClass(DataTypeWithContext.class, "getRegattaName")));
|
||||
dimensions.add(FunctionFactory.createMethodWrappingFunction(getMethodFromClass(DataTypeWithContext.class, "getRaceName")));
|
||||
dimensions.add(FunctionFactory.createMethodWrappingFunction(getMethodFromClass(DataTypeWithContext.class, "getLegNumber")));
|
||||
dimensions.add(FunctionFactory.createMethodWrappingFunction(getMethodFromClass(DataTypeWithContextProcessor.class, "getRegattaAndRaceName", DataTypeWithContext.class)));
|
||||
return dimensions;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user