From 59528c8a3adf509dd3369277f669397e723851a0 Mon Sep 17 00:00:00 2001 From: Yeser Amer Date: Mon, 17 Jun 2024 10:28:01 +0200 Subject: [PATCH 1/6] Fix Round functions scale parameter range. --- .../runtime/functions/extended/RoundDownFunction.java | 4 ++++ .../functions/extended/RoundHalfDownFunction.java | 4 ++++ .../functions/extended/RoundHalfUpFunction.java | 4 ++++ .../runtime/functions/extended/RoundUpFunction.java | 4 ++++ .../dmn/feel/runtime/KieFEELExtendedFunctionsTest.java | 10 +++++++++- 5 files changed, 25 insertions(+), 1 deletion(-) diff --git a/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/extended/RoundDownFunction.java b/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/extended/RoundDownFunction.java index 9178dcb6b72..0a67a7d31f7 100644 --- a/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/extended/RoundDownFunction.java +++ b/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/extended/RoundDownFunction.java @@ -50,6 +50,10 @@ public FEELFnResult invoke(@ParameterName( "n" ) BigDecimal n, @Para if ( scale == null ) { return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "scale", "cannot be null")); } + // Based on Table 76: Semantics of numeric functions, the scale is in range −6111 .. 6176 + if (scale.compareTo(BigDecimal.valueOf(-6111)) < 0 || scale.compareTo(BigDecimal.valueOf(6176)) > 0) { + return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "scale", "must be in range between -6111 to 6176.")); + } return FEELFnResult.ofResult( n.setScale( scale.intValue(), RoundingMode.DOWN ) ); } } diff --git a/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/extended/RoundHalfDownFunction.java b/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/extended/RoundHalfDownFunction.java index 266ec0935fd..5d5648cc55d 100644 --- a/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/extended/RoundHalfDownFunction.java +++ b/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/extended/RoundHalfDownFunction.java @@ -50,6 +50,10 @@ public FEELFnResult invoke(@ParameterName( "n" ) BigDecimal n, @Para if ( scale == null ) { return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "scale", "cannot be null")); } + // Based on Table 76: Semantics of numeric functions, the scale is in range −6111 .. 6176 + if (scale.compareTo(BigDecimal.valueOf(-6111)) < 0 || scale.compareTo(BigDecimal.valueOf(6176)) > 0) { + return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "scale", "must be in range between -6111 to 6176.")); + } return FEELFnResult.ofResult( n.setScale( scale.intValue(), RoundingMode.HALF_DOWN ) ); } } diff --git a/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/extended/RoundHalfUpFunction.java b/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/extended/RoundHalfUpFunction.java index c18f71b35dc..990f19c5dd2 100644 --- a/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/extended/RoundHalfUpFunction.java +++ b/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/extended/RoundHalfUpFunction.java @@ -50,6 +50,10 @@ public FEELFnResult invoke(@ParameterName( "n" ) BigDecimal n, @Para if ( scale == null ) { return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "scale", "cannot be null")); } + // Based on Table 76: Semantics of numeric functions, the scale is in range −6111 .. 6176 + if (scale.compareTo(BigDecimal.valueOf(-6111)) < 0 || scale.compareTo(BigDecimal.valueOf(6176)) > 0) { + return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "scale", "must be in range between -6111 to 6176.")); + } return FEELFnResult.ofResult( n.setScale( scale.intValue(), RoundingMode.HALF_UP ) ); } } diff --git a/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/extended/RoundUpFunction.java b/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/extended/RoundUpFunction.java index 1a3388724e2..e17c90d57df 100644 --- a/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/extended/RoundUpFunction.java +++ b/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/extended/RoundUpFunction.java @@ -50,6 +50,10 @@ public FEELFnResult invoke(@ParameterName( "n" ) BigDecimal n, @Para if ( scale == null ) { return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "scale", "cannot be null")); } + // Based on Table 76: Semantics of numeric functions, the scale is in range −6111 .. 6176 + if (scale.compareTo(BigDecimal.valueOf(-6111)) < 0 || scale.compareTo(BigDecimal.valueOf(6176)) > 0) { + return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "scale", "must be in range between -6111 to 6176.")); + } return FEELFnResult.ofResult( n.setScale( scale.intValue(), RoundingMode.UP ) ); } } diff --git a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/KieFEELExtendedFunctionsTest.java b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/KieFEELExtendedFunctionsTest.java index 9997089de5d..050681eb83d 100644 --- a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/KieFEELExtendedFunctionsTest.java +++ b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/KieFEELExtendedFunctionsTest.java @@ -73,18 +73,26 @@ private static Collection data() { { "round up(-5.5, 0) ", new BigDecimal("-6"), null }, { "round up(1.121, 2) ", new BigDecimal("1.13"), null }, { "round up(-1.126, 2) ", new BigDecimal("-1.13"), null }, + { "round up(1.126, 6177) ", null, FEELEvent.Severity.ERROR }, + { "round up(1.126, -6112) ", null, FEELEvent.Severity.ERROR }, { "round down(5.5, 0)", new BigDecimal("5"), null }, { "round down(-5.5, 0) ", new BigDecimal("-5"), null }, { "round down(1.121, 2) ", new BigDecimal("1.12"), null }, - { "round down (-1.126, 2) ", new BigDecimal("-1.12"), null }, + { "round down(-1.126, 2) ", new BigDecimal("-1.12"), null }, + { "round down(1.126, 6177) ", null, FEELEvent.Severity.ERROR }, + { "round down(1.126, -6112) ", null, FEELEvent.Severity.ERROR }, { "round half up(5.5, 0)", new BigDecimal("6"), null }, { "round half up(-5.5, 0) ", new BigDecimal("-6"), null }, { "round half up(1.121, 2) ", new BigDecimal("1.12"), null }, { "round half up(-1.126, 2) ", new BigDecimal("-1.13"), null }, + { "round half up(1.126, 6177) ", null, FEELEvent.Severity.ERROR }, + { "round half up(1.126, -6112) ", null, FEELEvent.Severity.ERROR }, { "round half down(5.5, 0)", new BigDecimal("5"), null }, { "round half down(-5.5, 0) ", new BigDecimal("-5"), null }, { "round half down(1.121, 2) ", new BigDecimal("1.12"), null }, { "round half down(-1.126, 2) ", new BigDecimal("-1.13"), null }, + { "round half down(1.126, 6177) ", null, FEELEvent.Severity.ERROR }, + { "round half down(1.126, -6112) ", null, FEELEvent.Severity.ERROR }, { "after( 1, 2 )", Boolean.FALSE, null }, { "after( date(\"2018-08-15\"), date(\"2018-07-25\") )", Boolean.TRUE, null }, { "after( date(\"2018-08-15\"), [date(\"2018-07-25\")..date(\"2018-08-10\")] )", Boolean.TRUE, null }, From bd707a4b24586d7a84fc76d1b703966b0476d260 Mon Sep 17 00:00:00 2001 From: Yeser Amer Date: Mon, 17 Jun 2024 21:48:20 +0200 Subject: [PATCH 2/6] Adding Ceiling, Decimal and Floor functions --- .../feel/runtime/functions/CeilingFunction.java | 14 +++++++++++++- .../feel/runtime/functions/DecimalFunction.java | 4 ++++ .../dmn/feel/runtime/functions/FloorFunction.java | 14 +++++++++++++- 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/CeilingFunction.java b/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/CeilingFunction.java index c3e3a577ea0..6d632bf93db 100644 --- a/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/CeilingFunction.java +++ b/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/CeilingFunction.java @@ -35,9 +35,21 @@ public CeilingFunction() { } public FEELFnResult invoke(@ParameterName( "n" ) BigDecimal n) { + return invoke(n, BigDecimal.ZERO); + } + + public FEELFnResult invoke(@ParameterName( "n" ) BigDecimal n, @ParameterName( "scale" ) BigDecimal scale) { if ( n == null ) { return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "n", "cannot be null")); } - return FEELFnResult.ofResult( n.setScale( 0, RoundingMode.CEILING ) ); + if ( scale == null ) { + return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "scale", "cannot be null")); + } + // Based on Table 76: Semantics of numeric functions, the scale is in range −6111 .. 6176 + if (scale.compareTo(BigDecimal.valueOf(-6111)) < 0 || scale.compareTo(BigDecimal.valueOf(6176)) > 0) { + return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "scale", "must be in range between -6111 to 6176.")); + } + + return FEELFnResult.ofResult( n.setScale( scale.intValue(), RoundingMode.CEILING ) ); } } diff --git a/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/DecimalFunction.java b/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/DecimalFunction.java index 2e77aa3ceb9..b62266cda32 100644 --- a/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/DecimalFunction.java +++ b/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/DecimalFunction.java @@ -41,6 +41,10 @@ public FEELFnResult invoke(@ParameterName( "n" ) BigDecimal n, @Para if ( scale == null ) { return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "scale", "cannot be null")); } + // Based on Table 76: Semantics of numeric functions, the scale is in range −6111 .. 6176 + if (scale.compareTo(BigDecimal.valueOf(-6111)) < 0 || scale.compareTo(BigDecimal.valueOf(6176)) > 0) { + return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "scale", "must be in range between -6111 to 6176.")); + } return FEELFnResult.ofResult( n.setScale( scale.intValue(), RoundingMode.HALF_EVEN ) ); } diff --git a/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/FloorFunction.java b/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/FloorFunction.java index e3c0cd906f8..f2b26d40ce6 100644 --- a/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/FloorFunction.java +++ b/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/runtime/functions/FloorFunction.java @@ -34,9 +34,21 @@ public FloorFunction() { } public FEELFnResult invoke(@ParameterName( "n" ) BigDecimal n) { + return invoke(n, BigDecimal.ZERO); + } + + public FEELFnResult invoke(@ParameterName( "n" ) BigDecimal n, @ParameterName( "scale" ) BigDecimal scale) { if ( n == null ) { return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "n", "cannot be null")); } - return FEELFnResult.ofResult( n.setScale( 0, RoundingMode.FLOOR ) ); + if ( scale == null ) { + return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "scale", "cannot be null")); + } + // Based on Table 76: Semantics of numeric functions, the scale is in range −6111 .. 6176 + if (scale.compareTo(BigDecimal.valueOf(-6111)) < 0 || scale.compareTo(BigDecimal.valueOf(6176)) > 0) { + return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "scale", "must be in range between -6111 to 6176.")); + } + + return FEELFnResult.ofResult( n.setScale( scale.intValue(), RoundingMode.FLOOR ) ); } } From bcb62424e41b159b0ecb5b89993890c3bb1f72b0 Mon Sep 17 00:00:00 2001 From: Yeser Amer Date: Mon, 17 Jun 2024 21:56:55 +0200 Subject: [PATCH 3/6] Tests --- .../dmn/feel/runtime/FEELFunctionsTest.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/FEELFunctionsTest.java b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/FEELFunctionsTest.java index 9314eb357b0..4ec562e84f9 100644 --- a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/FEELFunctionsTest.java +++ b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/FEELFunctionsTest.java @@ -156,13 +156,31 @@ private static Collection data() { { "decimal( 1.5, 0 )", new BigDecimal("2") , null}, { "decimal( 2.5, 0 )", new BigDecimal("2") , null}, { "decimal( null, 0 )", null , FEELEvent.Severity.ERROR}, + { "decimal( 1.555, 2 )", new BigDecimal("1.56") , null}, + { "decimal( -1.56, 1 )", new BigDecimal("-1.6") , null}, + { "decimal( 1.5, 6177 )", null , FEELEvent.Severity.ERROR}, + { "decimal( 1.5, -6122 )", null , FEELEvent.Severity.ERROR}, + { "decimal( 1.5, null )", null , FEELEvent.Severity.ERROR}, + { "decimal( null, null )", null , FEELEvent.Severity.ERROR}, { "floor( 1.5 )", new BigDecimal("1") , null}, { "floor( -1.5 )", new BigDecimal("-2") , null}, { "floor( null )", null , FEELEvent.Severity.ERROR}, + { "floor( 1.555, 2 )", new BigDecimal("1.55") , null}, + { "floor( -1.55, 1 )", new BigDecimal("-1.6") , null}, + { "floor( 1.5, 6177 )", null , FEELEvent.Severity.ERROR}, + { "floor( 1.5, -6122 )", null , FEELEvent.Severity.ERROR}, + { "floor( 1.5, null )", null , FEELEvent.Severity.ERROR}, + { "floor( null, null )", null , FEELEvent.Severity.ERROR}, { "ceiling( 1.5 )", new BigDecimal("2") , null}, { "ceiling( -1.5 )", new BigDecimal("-1") , null}, { "ceiling( null )", null , FEELEvent.Severity.ERROR}, { "ceiling( n : 1.5 )", new BigDecimal("2") , null}, + { "ceiling( 1.555, 2 )", new BigDecimal("1.56") , null}, + { "ceiling( -1.56, 1 )", new BigDecimal("-1.5") , null}, + { "ceiling( 1.5, 6177 )", null , FEELEvent.Severity.ERROR}, + { "ceiling( 1.5, -6122 )", null , FEELEvent.Severity.ERROR}, + { "ceiling( 1.5, null )", null , FEELEvent.Severity.ERROR}, + { "ceiling( null, null )", null , FEELEvent.Severity.ERROR}, { "abs( 10 )", new BigDecimal("10") , null}, { "abs( -10 )", new BigDecimal("10") , null}, { "abs( n: -10 )", new BigDecimal("10") , null}, From 750eaac62ad3f00e75dff084244c0b1067b4fe1f Mon Sep 17 00:00:00 2001 From: Yeser Amer Date: Tue, 18 Jun 2024 12:03:47 +0200 Subject: [PATCH 4/6] Tests --- .../feel/runtime/functions/CeilingFunctionTest.java | 10 +++++++++- .../feel/runtime/functions/DecimalFunctionTest.java | 6 ++++++ .../dmn/feel/runtime/functions/FloorFunctionTest.java | 8 ++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/CeilingFunctionTest.java b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/CeilingFunctionTest.java index e53d8ebcff6..386b053ddda 100644 --- a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/CeilingFunctionTest.java +++ b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/CeilingFunctionTest.java @@ -36,7 +36,9 @@ void setUp() { @Test void invokeNull() { FunctionTestUtil.assertResultError(ceilingFunction.invoke(null), InvalidParametersEvent.class); - } + FunctionTestUtil.assertResultError(ceilingFunction.invoke((BigDecimal) null, null), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(ceilingFunction.invoke(BigDecimal.ONE, null), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(ceilingFunction.invoke(null, BigDecimal.ONE), InvalidParametersEvent.class); } @Test void invokeZero() { @@ -52,4 +54,10 @@ void invokePositive() { void invokeNegative() { FunctionTestUtil.assertResultBigDecimal(ceilingFunction.invoke(BigDecimal.valueOf(-10.2)), BigDecimal.valueOf(-10)); } + + @Test + void invokeOutRangeScale() { + FunctionTestUtil.assertResultError(ceilingFunction.invoke(BigDecimal.valueOf(1.5), BigDecimal.valueOf(6177)), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(ceilingFunction.invoke(BigDecimal.valueOf(1.5), BigDecimal.valueOf(-6122)), InvalidParametersEvent.class); + } } \ No newline at end of file diff --git a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/DecimalFunctionTest.java b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/DecimalFunctionTest.java index 7078d6306cd..8e335cf1d1d 100644 --- a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/DecimalFunctionTest.java +++ b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/DecimalFunctionTest.java @@ -64,4 +64,10 @@ void invokeRoundingOdd() { void invokeLargerScale() { FunctionTestUtil.assertResult(decimalFunction.invoke(BigDecimal.valueOf(10.123456789), BigDecimal.valueOf(6)), BigDecimal.valueOf(10.123457)); } + + @Test + void invokeOutRangeScale() { + FunctionTestUtil.assertResultError(decimalFunction.invoke(BigDecimal.valueOf(1.5), BigDecimal.valueOf(6177)), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(decimalFunction.invoke(BigDecimal.valueOf(1.5), BigDecimal.valueOf(-6122)), InvalidParametersEvent.class); + } } \ No newline at end of file diff --git a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/FloorFunctionTest.java b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/FloorFunctionTest.java index 615b0aa0c75..bf84075681a 100644 --- a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/FloorFunctionTest.java +++ b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/FloorFunctionTest.java @@ -36,6 +36,9 @@ void setUp() { @Test void invokeNull() { FunctionTestUtil.assertResultError(floorFunction.invoke(null), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(floorFunction.invoke((BigDecimal) null, null), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(floorFunction.invoke(BigDecimal.ONE, null), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(floorFunction.invoke(null, BigDecimal.ONE), InvalidParametersEvent.class); } @Test @@ -53,4 +56,9 @@ void invokeNegative() { FunctionTestUtil.assertResultBigDecimal(floorFunction.invoke(BigDecimal.valueOf(-10.2)), BigDecimal.valueOf(-11)); } + @Test + void invokeOutRangeScale() { + FunctionTestUtil.assertResultError(floorFunction.invoke(BigDecimal.valueOf(1.5), BigDecimal.valueOf(6177)), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(floorFunction.invoke(BigDecimal.valueOf(1.5), BigDecimal.valueOf(-6122)), InvalidParametersEvent.class); + } } \ No newline at end of file From f2d2125aeaa76762b3eac009612b626b01bda841 Mon Sep 17 00:00:00 2001 From: Yeser Amer Date: Tue, 18 Jun 2024 12:31:24 +0200 Subject: [PATCH 5/6] Tests --- .../functions/RoundDownFunctionTest.java | 79 +++++++++++++++++++ .../functions/RoundHalfDownFunctionTest.java | 79 +++++++++++++++++++ .../functions/RoundHalfUpFunctionTest.java | 79 +++++++++++++++++++ .../functions/RoundUpFunctionTest.java | 79 +++++++++++++++++++ 4 files changed, 316 insertions(+) create mode 100644 kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundDownFunctionTest.java create mode 100644 kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundHalfDownFunctionTest.java create mode 100644 kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundHalfUpFunctionTest.java create mode 100644 kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundUpFunctionTest.java diff --git a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundDownFunctionTest.java b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundDownFunctionTest.java new file mode 100644 index 00000000000..4b08699bab7 --- /dev/null +++ b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundDownFunctionTest.java @@ -0,0 +1,79 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.kie.dmn.feel.runtime.functions; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.kie.dmn.feel.runtime.events.InvalidParametersEvent; +import org.kie.dmn.feel.runtime.functions.extended.RoundDownFunction; + +import java.math.BigDecimal; + +class RoundDownFunctionTest { + + private RoundDownFunction roundDownFunction; + + @BeforeEach + void setUp() { + roundDownFunction = new RoundDownFunction(); + } + + @Test + void invokeNull() { + FunctionTestUtil.assertResultError(roundDownFunction.invoke(null), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(roundDownFunction.invoke((BigDecimal) null, null), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(roundDownFunction.invoke(BigDecimal.ONE, null), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(roundDownFunction.invoke(null, BigDecimal.ONE), InvalidParametersEvent.class); + } + + @Test + void invokeRoundingUp() { + FunctionTestUtil.assertResult(roundDownFunction.invoke(BigDecimal.valueOf(10.27)), BigDecimal.valueOf(10)); + FunctionTestUtil.assertResult(roundDownFunction.invoke(BigDecimal.valueOf(10.27), BigDecimal.ONE), BigDecimal.valueOf(10.2)); + } + + @Test + void invokeRoundingDown() { + FunctionTestUtil.assertResult(roundDownFunction.invoke(BigDecimal.valueOf(10.24)), BigDecimal.valueOf(10)); + FunctionTestUtil.assertResult(roundDownFunction.invoke(BigDecimal.valueOf(10.24), BigDecimal.ONE), BigDecimal.valueOf(10.2)); + } + + @Test + void invokeRoundingEven() { + FunctionTestUtil.assertResult(roundDownFunction.invoke(BigDecimal.valueOf(10.25)), BigDecimal.valueOf(10)); + FunctionTestUtil.assertResult(roundDownFunction.invoke(BigDecimal.valueOf(10.25), BigDecimal.ONE), BigDecimal.valueOf(10.2)); + } + + @Test + void invokeRoundingOdd() { + FunctionTestUtil.assertResult(roundDownFunction.invoke(BigDecimal.valueOf(10.35)), BigDecimal.valueOf(10)); + FunctionTestUtil.assertResult(roundDownFunction.invoke(BigDecimal.valueOf(10.35), BigDecimal.ONE), BigDecimal.valueOf(10.3)); + } + + @Test + void invokeLargerScale() { + FunctionTestUtil.assertResult(roundDownFunction.invoke(BigDecimal.valueOf(10.123456789), BigDecimal.valueOf(6)), BigDecimal.valueOf(10.123456)); + } + + @Test + void invokeOutRangeScale() { + FunctionTestUtil.assertResultError(roundDownFunction.invoke(BigDecimal.valueOf(1.5), BigDecimal.valueOf(6177)), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(roundDownFunction.invoke(BigDecimal.valueOf(1.5), BigDecimal.valueOf(-6122)), InvalidParametersEvent.class); + } +} \ No newline at end of file diff --git a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundHalfDownFunctionTest.java b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundHalfDownFunctionTest.java new file mode 100644 index 00000000000..977ce6c1b5e --- /dev/null +++ b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundHalfDownFunctionTest.java @@ -0,0 +1,79 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.kie.dmn.feel.runtime.functions; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.kie.dmn.feel.runtime.events.InvalidParametersEvent; +import org.kie.dmn.feel.runtime.functions.extended.RoundHalfDownFunction; + +import java.math.BigDecimal; + +class RoundHalfDownFunctionTest { + + private RoundHalfDownFunction roundHalfDownFunction; + + @BeforeEach + void setUp() { + roundHalfDownFunction = new RoundHalfDownFunction(); + } + + @Test + void invokeNull() { + FunctionTestUtil.assertResultError(roundHalfDownFunction.invoke(null), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(roundHalfDownFunction.invoke((BigDecimal) null, null), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(roundHalfDownFunction.invoke(BigDecimal.ONE, null), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(roundHalfDownFunction.invoke(null, BigDecimal.ONE), InvalidParametersEvent.class); + } + + @Test + void invokeRoundingUp() { + FunctionTestUtil.assertResult(roundHalfDownFunction.invoke(BigDecimal.valueOf(10.27)), BigDecimal.valueOf(10)); + FunctionTestUtil.assertResult(roundHalfDownFunction.invoke(BigDecimal.valueOf(10.27), BigDecimal.ONE), BigDecimal.valueOf(10.3)); + } + + @Test + void invokeRoundingDown() { + FunctionTestUtil.assertResult(roundHalfDownFunction.invoke(BigDecimal.valueOf(10.24)), BigDecimal.valueOf(10)); + FunctionTestUtil.assertResult(roundHalfDownFunction.invoke(BigDecimal.valueOf(10.24), BigDecimal.ONE), BigDecimal.valueOf(10.2)); + } + + @Test + void invokeRoundingEven() { + FunctionTestUtil.assertResult(roundHalfDownFunction.invoke(BigDecimal.valueOf(10.25)), BigDecimal.valueOf(10)); + FunctionTestUtil.assertResult(roundHalfDownFunction.invoke(BigDecimal.valueOf(10.25), BigDecimal.ONE), BigDecimal.valueOf(10.2)); + } + + @Test + void invokeRoundingOdd() { + FunctionTestUtil.assertResult(roundHalfDownFunction.invoke(BigDecimal.valueOf(10.35)), BigDecimal.valueOf(10)); + FunctionTestUtil.assertResult(roundHalfDownFunction.invoke(BigDecimal.valueOf(10.35), BigDecimal.ONE), BigDecimal.valueOf(10.3)); + } + + @Test + void invokeLargerScale() { + FunctionTestUtil.assertResult(roundHalfDownFunction.invoke(BigDecimal.valueOf(10.123456789), BigDecimal.valueOf(6)), BigDecimal.valueOf(10.123457)); + } + + @Test + void invokeOutRangeScale() { + FunctionTestUtil.assertResultError(roundHalfDownFunction.invoke(BigDecimal.valueOf(1.5), BigDecimal.valueOf(6177)), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(roundHalfDownFunction.invoke(BigDecimal.valueOf(1.5), BigDecimal.valueOf(-6122)), InvalidParametersEvent.class); + } +} \ No newline at end of file diff --git a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundHalfUpFunctionTest.java b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundHalfUpFunctionTest.java new file mode 100644 index 00000000000..5ef141a141e --- /dev/null +++ b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundHalfUpFunctionTest.java @@ -0,0 +1,79 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.kie.dmn.feel.runtime.functions; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.kie.dmn.feel.runtime.events.InvalidParametersEvent; +import org.kie.dmn.feel.runtime.functions.extended.RoundHalfUpFunction; + +import java.math.BigDecimal; + +class RoundHalfUpFunctionTest { + + private RoundHalfUpFunction roundHalfUpFunction; + + @BeforeEach + void setUp() { + roundHalfUpFunction = new RoundHalfUpFunction(); + } + + @Test + void invokeNull() { + FunctionTestUtil.assertResultError(roundHalfUpFunction.invoke(null), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(roundHalfUpFunction.invoke((BigDecimal) null, null), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(roundHalfUpFunction.invoke(BigDecimal.ONE, null), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(roundHalfUpFunction.invoke(null, BigDecimal.ONE), InvalidParametersEvent.class); + } + + @Test + void invokeRoundingUp() { + FunctionTestUtil.assertResult(roundHalfUpFunction.invoke(BigDecimal.valueOf(10.27)), BigDecimal.valueOf(10)); + FunctionTestUtil.assertResult(roundHalfUpFunction.invoke(BigDecimal.valueOf(10.27), BigDecimal.ONE), BigDecimal.valueOf(10.3)); + } + + @Test + void invokeRoundingDown() { + FunctionTestUtil.assertResult(roundHalfUpFunction.invoke(BigDecimal.valueOf(10.24)), BigDecimal.valueOf(10)); + FunctionTestUtil.assertResult(roundHalfUpFunction.invoke(BigDecimal.valueOf(10.24), BigDecimal.ONE), BigDecimal.valueOf(10.2)); + } + + @Test + void invokeRoundingEven() { + FunctionTestUtil.assertResult(roundHalfUpFunction.invoke(BigDecimal.valueOf(10.25)), BigDecimal.valueOf(10)); + FunctionTestUtil.assertResult(roundHalfUpFunction.invoke(BigDecimal.valueOf(10.25), BigDecimal.ONE), BigDecimal.valueOf(10.3)); + } + + @Test + void invokeRoundingOdd() { + FunctionTestUtil.assertResult(roundHalfUpFunction.invoke(BigDecimal.valueOf(10.35)), BigDecimal.valueOf(10)); + FunctionTestUtil.assertResult(roundHalfUpFunction.invoke(BigDecimal.valueOf(10.35), BigDecimal.ONE), BigDecimal.valueOf(10.4)); + } + + @Test + void invokeLargerScale() { + FunctionTestUtil.assertResult(roundHalfUpFunction.invoke(BigDecimal.valueOf(10.123456789), BigDecimal.valueOf(6)), BigDecimal.valueOf(10.123457)); + } + + @Test + void invokeOutRangeScale() { + FunctionTestUtil.assertResultError(roundHalfUpFunction.invoke(BigDecimal.valueOf(1.5), BigDecimal.valueOf(6177)), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(roundHalfUpFunction.invoke(BigDecimal.valueOf(1.5), BigDecimal.valueOf(-6122)), InvalidParametersEvent.class); + } +} \ No newline at end of file diff --git a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundUpFunctionTest.java b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundUpFunctionTest.java new file mode 100644 index 00000000000..79dfcd5ab72 --- /dev/null +++ b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundUpFunctionTest.java @@ -0,0 +1,79 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.kie.dmn.feel.runtime.functions; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.kie.dmn.feel.runtime.events.InvalidParametersEvent; +import org.kie.dmn.feel.runtime.functions.extended.RoundUpFunction; + +import java.math.BigDecimal; + +class RoundUpFunctionTest { + + private RoundUpFunction roundUpFunction; + + @BeforeEach + void setUp() { + roundUpFunction = new RoundUpFunction(); + } + + @Test + void invokeNull() { + FunctionTestUtil.assertResultError(roundUpFunction.invoke(null), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(roundUpFunction.invoke((BigDecimal) null, null), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(roundUpFunction.invoke(BigDecimal.ONE, null), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(roundUpFunction.invoke(null, BigDecimal.ONE), InvalidParametersEvent.class); + } + + @Test + void invokeRoundingUp() { + FunctionTestUtil.assertResult(roundUpFunction.invoke(BigDecimal.valueOf(10.27)), BigDecimal.valueOf(11)); + FunctionTestUtil.assertResult(roundUpFunction.invoke(BigDecimal.valueOf(10.27), BigDecimal.ONE), BigDecimal.valueOf(10.3)); + } + + @Test + void invokeRoundingDown() { + FunctionTestUtil.assertResult(roundUpFunction.invoke(BigDecimal.valueOf(10.24)), BigDecimal.valueOf(11)); + FunctionTestUtil.assertResult(roundUpFunction.invoke(BigDecimal.valueOf(10.24), BigDecimal.ONE), BigDecimal.valueOf(10.3)); + } + + @Test + void invokeRoundingEven() { + FunctionTestUtil.assertResult(roundUpFunction.invoke(BigDecimal.valueOf(10.25)), BigDecimal.valueOf(11)); + FunctionTestUtil.assertResult(roundUpFunction.invoke(BigDecimal.valueOf(10.25), BigDecimal.ONE), BigDecimal.valueOf(10.3)); + } + + @Test + void invokeRoundingOdd() { + FunctionTestUtil.assertResult(roundUpFunction.invoke(BigDecimal.valueOf(10.35)), BigDecimal.valueOf(11)); + FunctionTestUtil.assertResult(roundUpFunction.invoke(BigDecimal.valueOf(10.35), BigDecimal.ONE), BigDecimal.valueOf(10.4)); + } + + @Test + void invokeLargerScale() { + FunctionTestUtil.assertResult(roundUpFunction.invoke(BigDecimal.valueOf(10.123456789), BigDecimal.valueOf(6)), BigDecimal.valueOf(10.123457)); + } + + @Test + void invokeOutRangeScale() { + FunctionTestUtil.assertResultError(roundUpFunction.invoke(BigDecimal.valueOf(1.5), BigDecimal.valueOf(6177)), InvalidParametersEvent.class); + FunctionTestUtil.assertResultError(roundUpFunction.invoke(BigDecimal.valueOf(1.5), BigDecimal.valueOf(-6122)), InvalidParametersEvent.class); + } +} \ No newline at end of file From 9a48045feba787763fda926f5e4832a7239efde3 Mon Sep 17 00:00:00 2001 From: Yeser Amer Date: Tue, 18 Jun 2024 17:14:05 +0200 Subject: [PATCH 6/6] Tests --- .../functions/{ => extended}/RoundDownFunctionTest.java | 4 ++-- .../functions/{ => extended}/RoundHalfDownFunctionTest.java | 4 ++-- .../functions/{ => extended}/RoundHalfUpFunctionTest.java | 4 ++-- .../runtime/functions/{ => extended}/RoundUpFunctionTest.java | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) rename kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/{ => extended}/RoundDownFunctionTest.java (96%) rename kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/{ => extended}/RoundHalfDownFunctionTest.java (96%) rename kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/{ => extended}/RoundHalfUpFunctionTest.java (96%) rename kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/{ => extended}/RoundUpFunctionTest.java (96%) diff --git a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundDownFunctionTest.java b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/extended/RoundDownFunctionTest.java similarity index 96% rename from kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundDownFunctionTest.java rename to kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/extended/RoundDownFunctionTest.java index 4b08699bab7..37e4742f759 100644 --- a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundDownFunctionTest.java +++ b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/extended/RoundDownFunctionTest.java @@ -16,12 +16,12 @@ * specific language governing permissions and limitations * under the License. */ -package org.kie.dmn.feel.runtime.functions; +package org.kie.dmn.feel.runtime.functions.extended; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.kie.dmn.feel.runtime.events.InvalidParametersEvent; -import org.kie.dmn.feel.runtime.functions.extended.RoundDownFunction; +import org.kie.dmn.feel.runtime.functions.FunctionTestUtil; import java.math.BigDecimal; diff --git a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundHalfDownFunctionTest.java b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/extended/RoundHalfDownFunctionTest.java similarity index 96% rename from kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundHalfDownFunctionTest.java rename to kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/extended/RoundHalfDownFunctionTest.java index 977ce6c1b5e..d91b548c14b 100644 --- a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundHalfDownFunctionTest.java +++ b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/extended/RoundHalfDownFunctionTest.java @@ -16,12 +16,12 @@ * specific language governing permissions and limitations * under the License. */ -package org.kie.dmn.feel.runtime.functions; +package org.kie.dmn.feel.runtime.functions.extended; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.kie.dmn.feel.runtime.events.InvalidParametersEvent; -import org.kie.dmn.feel.runtime.functions.extended.RoundHalfDownFunction; +import org.kie.dmn.feel.runtime.functions.FunctionTestUtil; import java.math.BigDecimal; diff --git a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundHalfUpFunctionTest.java b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/extended/RoundHalfUpFunctionTest.java similarity index 96% rename from kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundHalfUpFunctionTest.java rename to kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/extended/RoundHalfUpFunctionTest.java index 5ef141a141e..a5afd7a5013 100644 --- a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundHalfUpFunctionTest.java +++ b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/extended/RoundHalfUpFunctionTest.java @@ -16,12 +16,12 @@ * specific language governing permissions and limitations * under the License. */ -package org.kie.dmn.feel.runtime.functions; +package org.kie.dmn.feel.runtime.functions.extended; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.kie.dmn.feel.runtime.events.InvalidParametersEvent; -import org.kie.dmn.feel.runtime.functions.extended.RoundHalfUpFunction; +import org.kie.dmn.feel.runtime.functions.FunctionTestUtil; import java.math.BigDecimal; diff --git a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundUpFunctionTest.java b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/extended/RoundUpFunctionTest.java similarity index 96% rename from kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundUpFunctionTest.java rename to kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/extended/RoundUpFunctionTest.java index 79dfcd5ab72..2175fe8f5c7 100644 --- a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/RoundUpFunctionTest.java +++ b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/extended/RoundUpFunctionTest.java @@ -16,12 +16,12 @@ * specific language governing permissions and limitations * under the License. */ -package org.kie.dmn.feel.runtime.functions; +package org.kie.dmn.feel.runtime.functions.extended; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.kie.dmn.feel.runtime.events.InvalidParametersEvent; -import org.kie.dmn.feel.runtime.functions.extended.RoundUpFunction; +import org.kie.dmn.feel.runtime.functions.FunctionTestUtil; import java.math.BigDecimal;