@Test
public void invokeBigDecimal() {

    FunctionTestUtil.assertResult(indexOfFunction.invoke(Arrays.asList("test", null, 12), BigDecimal.valueOf(12)), Collections.emptyList());
    FunctionTestUtil.assertResult(
            indexOfFunction.invoke(Arrays.asList("test", null, BigDecimal.valueOf(12)), BigDecimal.valueOf(12)),
            Collections.singletonList(BigDecimal.valueOf(3)));
    FunctionTestUtil.assertResult(
            indexOfFunction.invoke(
                    Arrays.asList("test", null, BigDecimal.valueOf(12)),
                    BigDecimal.valueOf(12).setScale(4, BigDecimal.ROUND_HALF_UP)),
            Collections.singletonList(BigDecimal.valueOf(3)));
    FunctionTestUtil.assertResult(
            indexOfFunction.invoke(
                    Arrays.asList(BigDecimal.valueOf(12.00), "test", null, BigDecimal.valueOf(12)),
                    BigDecimal.valueOf(12)),
            Arrays.asList(BigDecimal.valueOf(1), BigDecimal.valueOf(4)));
}