public FEELFnResult<Object> invoke(@ParameterName("c") Object[] list) { if ( list == null || list.length == 0 ) { // Arrays.asList does not accept null as parameter return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "c", "cannot be null or empty")); } return invoke( Arrays.asList( list ) ); }
@Before public void setUp() { minFunction = new MinFunction(); }
@Test public void invokeListOfIntegers() { FunctionTestUtil.assertResult(minFunction.invoke(Collections.singletonList(1)), 1); FunctionTestUtil.assertResult(minFunction.invoke(Arrays.asList(1, 2, 3)), 1); FunctionTestUtil.assertResult(minFunction.invoke(Arrays.asList(2, 1, 3)), 1); FunctionTestUtil.assertResult(minFunction.invoke(Arrays.asList(2, 3, 1)), 1); }
@Test public void invokeListOfStrings() { FunctionTestUtil.assertResult(minFunction.invoke(Collections.singletonList("a")), "a"); FunctionTestUtil.assertResult(minFunction.invoke(Arrays.asList("a", "b", "c")), "a"); FunctionTestUtil.assertResult(minFunction.invoke(Arrays.asList("b", "a", "c")), "a"); FunctionTestUtil.assertResult(minFunction.invoke(Arrays.asList("b", "c", "a")), "a"); }
@Test public void invokeArrayOfIntegers() { FunctionTestUtil.assertResult(minFunction.invoke(new Object[]{1}), 1); FunctionTestUtil.assertResult(minFunction.invoke(new Object[]{1, 2, 3}), 1); FunctionTestUtil.assertResult(minFunction.invoke(new Object[]{2, 1, 3}), 1); FunctionTestUtil.assertResult(minFunction.invoke(new Object[]{2, 3, 1}), 1); }
@Test public void invokeArrayOfStrings() { FunctionTestUtil.assertResult(minFunction.invoke(new Object[]{"a"}), "a"); FunctionTestUtil.assertResult(minFunction.invoke(new Object[]{"a", "b", "c"}), "a"); FunctionTestUtil.assertResult(minFunction.invoke(new Object[]{"b", "a", "c"}), "a"); FunctionTestUtil.assertResult(minFunction.invoke(new Object[]{"b", "c", "a"}), "a"); } }
@Test public void invokeListWithHeterogenousTypes() { FunctionTestUtil.assertResultError(minFunction.invoke(Arrays.asList(1, "test", BigDecimal.valueOf(10.2))), InvalidParametersEvent.class); }
@Test public void invokeEmptyList() { FunctionTestUtil.assertResultError(minFunction.invoke(Collections.emptyList()), InvalidParametersEvent.class); }
@Test public void invokeArrayWithHeterogenousTypes() { FunctionTestUtil.assertResultError(minFunction.invoke(new Object[]{1, "test", BigDecimal.valueOf(10.2)}), InvalidParametersEvent.class); }
@Test public void invokeNullList() { FunctionTestUtil.assertResultError(minFunction.invoke((List) null), InvalidParametersEvent.class); }
@Test public void invokeNullArray() { FunctionTestUtil.assertResultError(minFunction.invoke((Object[]) null), InvalidParametersEvent.class); }
@Test public void invokeEmptyArray() { FunctionTestUtil.assertResultError(minFunction.invoke(new Object[]{}), InvalidParametersEvent.class); }