@SuppressWarnings({ "rawtypes", "unchecked" })
public static void compareAnalyzerResultWithAnnotationsSingleInputWithKeys(Class<?> baseClass, Class<?> clazz,
TypeInformation<?> inType, TypeInformation<?> outType, String[] keys) {
final Set<Annotation> annotations = FunctionAnnotation.readSingleForwardAnnotations(clazz);
SingleInputSemanticProperties expected = SemanticPropUtil.getSemanticPropsSingle(annotations, inType,
outType);
if (expected == null) {
expected = new SingleInputSemanticProperties();
}
final UdfAnalyzer ua = new UdfAnalyzer(baseClass, clazz, "operator", inType, null, outType, (keys == null) ? null
: new Keys.ExpressionKeys(keys, inType), null, true);
ua.analyze();
final SingleInputSemanticProperties actual = (SingleInputSemanticProperties) ua.getSemanticProperties();
assertEquals(expected.toString(), actual.toString());
}