You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kie.apache.org by "gitgabrio (via GitHub)" <gi...@apache.org> on 2024/09/03 16:19:13 UTC

[PR] [incubator-kie-issues#1411] Ban usage of Junit assertions inside DMN [incubator-kie-drools]

gitgabrio opened a new pull request, #6062:
URL: https://github.com/apache/incubator-kie-drools/pull/6062

   Fixes https://github.com/apache/incubator-kie-issues/issues/1461
   
   This PR:
   1. remove usage of Junit assertions
   2. enforce/ban their reintroduction
   
   
   <details>
   <summary>
   How to replicate CI configuration locally?
   </summary>
   
   Build Chain tool does "simple" maven build(s), the builds are just Maven commands, but because the repositories relates and depends on each other and any change in API or class method could affect several of those repositories there is a need to use [build-chain tool](https://github.com/kiegroup/github-action-build-chain) to handle cross repository builds and be sure that we always use latest version of the code for each repository.
    
   [build-chain tool](https://github.com/kiegroup/github-action-build-chain) is a build tool which can be used on command line locally or in Github Actions workflow(s), in case you need to change multiple repositories and send multiple dependent pull requests related with a change you can easily reproduce the same build by executing it on Github hosted environment or locally in your development environment. See [local execution](https://github.com/kiegroup/github-action-build-chain#local-execution) details to get more information about it.
   </details>
   
   <details>
   <summary>
   How to retest this PR or trigger a specific build:
   </summary>
   
   - for <b>pull request and downstream checks</b>  
     - Push a new commit to the PR. An empty commit would be enough.
   
   - for a <b>full downstream build</b>
     - for <b>github actions</b> job: add the label `run_fdb`
   
   - for <b>Jenkins PR check only</b>
     - If you are an ASF committer for KIE podling, login to Jenkins (https://ci-builds.apache.org/job/KIE/job/drools/), go to the specific PR job, and click on `Build Now` button.
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@kie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@kie.apache.org
For additional commands, e-mail: commits-help@kie.apache.org


Re: [PR] [incubator-kie-issues#1411] Ban usage of Junit assertions inside DMN [incubator-kie-drools]

Posted by "gitgabrio (via GitHub)" <gi...@apache.org>.
gitgabrio commented on PR #6062:
URL: https://github.com/apache/incubator-kie-drools/pull/6062#issuecomment-2328155289

   **Kogito Downstream / kogito-apps (ubuntu-latest / Java-17 / Maven-3.9.6) (pull_request)**  failure unrelated
   
   ```
   2024-09-04T07:01:18.2087606Z [ERROR] Tests run: 4, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 60.50 s <<< FAILURE! -- in org.kie.kogito.index.service.graphql.MongoWebSocketSubscriptionIT
   2024-09-04T07:01:18.2090158Z [ERROR] org.kie.kogito.index.service.graphql.MongoWebSocketSubscriptionIT.testDomainSubscription -- Time elapsed: 60.12 s <<< ERROR!
   2024-09-04T07:01:18.2091630Z java.util.concurrent.TimeoutException
   2024-09-04T07:01:18.2092660Z 	at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960)
   2024-09-04T07:01:18.2094012Z 	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095)
   2024-09-04T07:01:18.2095945Z 	at org.kie.kogito.index.service.graphql.AbstractWebSocketSubscriptionIT.assertDomainSubscription(AbstractWebSocketSubscriptionIT.java:159)
   2024-09-04T07:01:18.2207717Z 	at org.kie.kogito.index.service.graphql.AbstractWebSocketSubscriptionIT.testDomainSubscription(AbstractWebSocketSubscriptionIT.java:144)
   2024-09-04T07:01:18.2209585Z 	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
   2024-09-04T07:01:18.2210869Z 	at io.quarkus.test.junit.QuarkusTestExtension.runExtensionMethod(QuarkusTestExtension.java:1013)
   2024-09-04T07:01:18.2212464Z 	at io.quarkus.test.junit.QuarkusTestExtension.interceptTestMethod(QuarkusTestExtension.java:827)
   2024-09-04T07:01:18.2213662Z 	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
   2024-09-04T07:01:18.2214941Z 	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@kie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@kie.apache.org
For additional commands, e-mail: commits-help@kie.apache.org


Re: [PR] [incubator-kie-issues#1411] Ban usage of Junit assertions inside DMN [incubator-kie-drools]

Posted by "pibizza (via GitHub)" <gi...@apache.org>.
pibizza commented on code in PR #6062:
URL: https://github.com/apache/incubator-kie-drools/pull/6062#discussion_r1743381343


##########
kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/ast/DMNContextEvaluatorTest.java:
##########
@@ -74,8 +72,8 @@ void dateToDateTime() {
         DMNResultImpl result = createResult(dmnModel, context );
         DMNExpressionEvaluator evaluator = ed.getEvaluator();
         EvaluatorResult evaluated = evaluator.evaluate(runtime, result);
-        assertNotNull(evaluated);
-        assertEquals(EvaluatorResult.ResultType.SUCCESS, evaluated.getResultType());
+        assertThat(evaluated).isNotNull();
+        assertThat(EvaluatorResult.ResultType.SUCCESS).isEqualTo(evaluated.getResultType());

Review Comment:
   ```suggestion
           assertThat(evaluated.getResultType()).isEqualTo(EvaluatorResult.ResultType.SUCCESS);
   ```



##########
kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/util/CoerceUtilTest.java:
##########
@@ -79,12 +78,12 @@ void coerceValueCollectionToArrayNotConverted() {
                                                   null,
                                                   BuiltInType.STRING);
         retrieved = CoerceUtil.coerceValue(requiredType, value);
-        assertNotNull(retrieved);
-        assertEquals(value, retrieved);
+        assertThat(retrieved).isNotNull();
+        assertThat(value).isEqualTo(retrieved);

Review Comment:
   ```suggestion
           assertThat(retrieved).isEqualTo(value);
   ```



##########
kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/util/CoerceUtilTest.java:
##########
@@ -96,7 +95,7 @@ void coerceValueCollectionToArrayNotConverted() {
                                                          null,
                                                          BuiltInType.STRING);
         retrieved = CoerceUtil.coerceValue(requiredType, value);
-        assertEquals(value, retrieved);
+        assertThat(value).isEqualTo(retrieved);

Review Comment:
   ```suggestion
           assertThat(retrieved).isEqualTo(value);
   ```



##########
kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/util/CoerceUtilTest.java:
##########
@@ -79,12 +78,12 @@ void coerceValueCollectionToArrayNotConverted() {
                                                   null,
                                                   BuiltInType.STRING);
         retrieved = CoerceUtil.coerceValue(requiredType, value);
-        assertNotNull(retrieved);
-        assertEquals(value, retrieved);
+        assertThat(retrieved).isNotNull();
+        assertThat(value).isEqualTo(retrieved);
 
         requiredType = null;
         retrieved = CoerceUtil.coerceValue(requiredType, value);
-        assertEquals(value, retrieved);
+        assertThat(value).isEqualTo(retrieved);

Review Comment:
   ```suggestion
           assertThat(retrieved).isEqualTo(value);
   ```



##########
kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/util/CoerceUtilTest.java:
##########
@@ -201,7 +201,7 @@ void actualCoerceValueNotConverted() {
                                                   null,
                                                   BuiltInType.NUMBER);
         Object retrieved = CoerceUtil.actualCoerceValue(requiredType, value);
-        assertNotNull(retrieved);
-        assertEquals(value, retrieved);
+        assertThat(retrieved).isNotNull();
+        assertThat(value).isEqualTo(retrieved);

Review Comment:
   ```suggestion
           assertThat(retrieved).isEqualTo(value);
   ```



##########
kie-dmn/kie-dmn-validation/src/test/java/org/kie/dmn/validation/v1_5/DMN15ValidationsTest.java:
##########
@@ -155,9 +153,9 @@ private void validate(String modelFileName, String... otherFileNames) {
                                                        this.getClass()))
                 .toArray(value -> new Resource[allModelsFileNames.size()]);
         List<DMNMessage> dmnMessages = validatorBuilder.theseModels(resources);
-        assertNotNull(dmnMessages);
+        assertThat(dmnMessages).isNotNull();
         dmnMessages.forEach(dmnMessage -> LOG.error(dmnMessage.toString()));
-        assertTrue(dmnMessages.isEmpty());
+        assertThat(dmnMessages.isEmpty()).isTrue();

Review Comment:
   ```suggestion
           assertThat(dmnMessages).isEmpty();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/util/CoerceUtilTest.java:
##########
@@ -108,46 +106,46 @@ void coerceParamsCollectionToArrayConverted() {
         Object value = Collections.singleton(item);
         Object[] actualParams1 = {value, "NOT_DATE"};
         Optional<Object[]> retrieved = CoerceUtil.coerceParams(Set.class, String.class, actualParams1, 0);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();

Review Comment:
   ```suggestion
           assertThat(retrieved)isPresent();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/util/CoerceUtilTest.java:
##########
@@ -108,46 +106,46 @@ void coerceParamsCollectionToArrayConverted() {
         Object value = Collections.singleton(item);
         Object[] actualParams1 = {value, "NOT_DATE"};
         Optional<Object[]> retrieved = CoerceUtil.coerceParams(Set.class, String.class, actualParams1, 0);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();
         Object[] retrievedObjects = retrieved.get();
-        assertEquals(item, retrievedObjects[0]);
-        assertEquals(actualParams1[1], retrievedObjects[1]);
+        assertThat(retrievedObjects[0]).isEqualTo(item);
+        assertThat(retrievedObjects[1]).isEqualTo(actualParams1[1]);
 
 
         item = LocalDate.now();
         value = Collections.singleton(item);
         Object[] actualParams2 = {value, "NOT_DATE"};
         retrieved = CoerceUtil.coerceParams(Set.class, ZonedDateTime.class, actualParams2, 0);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();
         retrievedObjects = retrieved.get();
-        assertTrue(retrievedObjects[0] instanceof ZonedDateTime);
+        assertThat(retrievedObjects[0] instanceof ZonedDateTime).isTrue();
         ZonedDateTime zdtRetrieved = (ZonedDateTime) retrievedObjects[0];
-        assertEquals(item, zdtRetrieved.toLocalDate());
-        assertEquals(ZoneOffset.UTC, zdtRetrieved.getOffset());
-        assertEquals(0, zdtRetrieved.getHour());
-        assertEquals(0, zdtRetrieved.getMinute());
-        assertEquals(0, zdtRetrieved.getSecond());
-        assertEquals(actualParams2[1], retrievedObjects[1]);
+        assertThat(zdtRetrieved.toLocalDate()).isEqualTo(item);
+        assertThat(zdtRetrieved.getOffset()).isEqualTo(ZoneOffset.UTC);
+        assertThat(zdtRetrieved.getHour()).isEqualTo(0);
+        assertThat(zdtRetrieved.getMinute()).isEqualTo(0);
+        assertThat(zdtRetrieved.getSecond()).isEqualTo(0);
+        assertThat(retrievedObjects[1]).isEqualTo(actualParams2[1]);
     }
 
     @Test
     void coerceParamsToDateTimeConverted() {
         Object value = LocalDate.now();
         Object[] actualParams = {value, "NOT_DATE"};
         Optional<Object[]> retrieved = CoerceUtil.coerceParams(LocalDate.class, ZonedDateTime.class, actualParams, 0);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();
         Object[] retrievedObjects = retrieved.get();
-        assertTrue(retrievedObjects[0] instanceof ZonedDateTime);
+        assertThat(retrievedObjects[0] instanceof ZonedDateTime).isTrue();

Review Comment:
   ```suggestion
           assertThat(retrievedObjects[0]).isInstanceOf(ZonedDateTime.class);
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/util/CoerceUtilTest.java:
##########
@@ -108,46 +106,46 @@ void coerceParamsCollectionToArrayConverted() {
         Object value = Collections.singleton(item);
         Object[] actualParams1 = {value, "NOT_DATE"};
         Optional<Object[]> retrieved = CoerceUtil.coerceParams(Set.class, String.class, actualParams1, 0);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();
         Object[] retrievedObjects = retrieved.get();
-        assertEquals(item, retrievedObjects[0]);
-        assertEquals(actualParams1[1], retrievedObjects[1]);
+        assertThat(retrievedObjects[0]).isEqualTo(item);
+        assertThat(retrievedObjects[1]).isEqualTo(actualParams1[1]);
 
 
         item = LocalDate.now();
         value = Collections.singleton(item);
         Object[] actualParams2 = {value, "NOT_DATE"};
         retrieved = CoerceUtil.coerceParams(Set.class, ZonedDateTime.class, actualParams2, 0);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();
         retrievedObjects = retrieved.get();
-        assertTrue(retrievedObjects[0] instanceof ZonedDateTime);
+        assertThat(retrievedObjects[0] instanceof ZonedDateTime).isTrue();
         ZonedDateTime zdtRetrieved = (ZonedDateTime) retrievedObjects[0];
-        assertEquals(item, zdtRetrieved.toLocalDate());
-        assertEquals(ZoneOffset.UTC, zdtRetrieved.getOffset());
-        assertEquals(0, zdtRetrieved.getHour());
-        assertEquals(0, zdtRetrieved.getMinute());
-        assertEquals(0, zdtRetrieved.getSecond());
-        assertEquals(actualParams2[1], retrievedObjects[1]);
+        assertThat(zdtRetrieved.toLocalDate()).isEqualTo(item);
+        assertThat(zdtRetrieved.getOffset()).isEqualTo(ZoneOffset.UTC);
+        assertThat(zdtRetrieved.getHour()).isEqualTo(0);
+        assertThat(zdtRetrieved.getMinute()).isEqualTo(0);
+        assertThat(zdtRetrieved.getSecond()).isEqualTo(0);
+        assertThat(retrievedObjects[1]).isEqualTo(actualParams2[1]);
     }
 
     @Test
     void coerceParamsToDateTimeConverted() {
         Object value = LocalDate.now();
         Object[] actualParams = {value, "NOT_DATE"};
         Optional<Object[]> retrieved = CoerceUtil.coerceParams(LocalDate.class, ZonedDateTime.class, actualParams, 0);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();

Review Comment:
   ```suggestion
           assertThat(retrieved).isPresent();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/util/CoerceUtilTest.java:
##########
@@ -45,61 +43,61 @@ void coerceParam() {
         Object valueObject = 34;
         Object actualObject = List.of(valueObject);
         Optional<Object> retrieved = CoerceUtil.coerceParam(currentIdxActualParameterType, expectedParameterType, actualObject);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
-        assertEquals(valueObject, retrieved.get());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();
+        assertThat(retrieved.get()).isEqualTo(valueObject);
 
         // Coerce single element to singleton list
         currentIdxActualParameterType = Number.class;
         expectedParameterType = List.class;
         actualObject = 34;
         retrieved = CoerceUtil.coerceParam(currentIdxActualParameterType, expectedParameterType, actualObject);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
-        assertTrue(retrieved.get() instanceof List);
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();

Review Comment:
   ```suggestion
           assertThat(retrieved).isPresent();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/ZonedDateTimeRangeIteratorTest.java:
##########
@@ -47,25 +45,25 @@ static void setup() {
     @Test
     void hasNextAscendantTest() {
         ZonedDateTimeRangeIterator iterator = new ZonedDateTimeRangeIterator(before, after);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         ZonedDateTime next = iterator.next();
         while (next.isBefore(after)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();
             next = iterator.next();
         }
-        assertFalse(iterator.hasNext());
+        assertThat(iterator.hasNext()).isFalse();

Review Comment:
   ```suggestion
           assertThat(iterator).isExhausted();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/functions/BuiltInFunctionsTest.java:
##########
@@ -43,24 +43,24 @@ void getFunctions() {
         Set< Class<? extends FEELFunction>> verifiedClasses = Stream.of(FUNCTIONS).map(this::validateFunction)
                 .filter(Objects::nonNull)
                 .collect(Collectors.toUnmodifiableSet());
-        assertEquals(FUNCTIONS.length, verifiedClasses.size());
+        assertThat(verifiedClasses.size()).isEqualTo(FUNCTIONS.length);

Review Comment:
   ```suggestion
           assertThat(verifiedClasses).hasSameSizeAs(FUNCTIONS);
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/ZonedDateTimeRangeIteratorTest.java:
##########
@@ -47,25 +45,25 @@ static void setup() {
     @Test
     void hasNextAscendantTest() {
         ZonedDateTimeRangeIterator iterator = new ZonedDateTimeRangeIterator(before, after);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         ZonedDateTime next = iterator.next();
         while (next.isBefore(after)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();

Review Comment:
   ```suggestion
               assertThat(iterator).hasNext();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/ForIterationUtilsTest.java:
##########
@@ -127,23 +126,23 @@ void validateValuesFalseTest() {
         try {
             validateValues(ctx, "INVALID", "INVALID");
         } catch (Exception e) {
-            assertTrue(e instanceof EndpointOfRangeNotValidTypeException);
+            assertThat(e instanceof EndpointOfRangeNotValidTypeException).isTrue();

Review Comment:
   ```suggestion
              assertThat(e).isInstanceof(EndpointOfRangeNotValidTypeException.class);
   ```



##########
kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/util/CoerceUtilTest.java:
##########
@@ -146,8 +146,8 @@ void coerceValueDateToDateTimeNotConverted() {
                                                   null,
                                                   BuiltInType.DATE);
         retrieved = CoerceUtil.coerceValue(requiredType, value);
-        assertNotNull(retrieved);
-        assertEquals(value, retrieved);
+        assertThat(retrieved).isNotNull();
+        assertThat(value).isEqualTo(retrieved);

Review Comment:
   ```suggestion
           assertThat(retrieved).isEqualTo(value);
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/BigDecimalRangeIteratorTest.java:
##########
@@ -36,27 +34,27 @@ void hasNextAscendantTest() {
         BigDecimal start = BigDecimal.valueOf(1);
         BigDecimal end = BigDecimal.valueOf(3);
         BigDecimalRangeIterator iterator = new BigDecimalRangeIterator(start, end);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();

Review Comment:
   ```suggestion
           assertThat(iterator).hasNext();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/ForIterationUtilsTest.java:
##########
@@ -127,23 +126,23 @@ void validateValuesFalseTest() {
         try {
             validateValues(ctx, "INVALID", "INVALID");
         } catch (Exception e) {
-            assertTrue(e instanceof EndpointOfRangeNotValidTypeException);
+            assertThat(e instanceof EndpointOfRangeNotValidTypeException).isTrue();
             final ArgumentCaptor<FEELEvent> captor = ArgumentCaptor.forClass(FEELEvent.class);
             verify(listener, times(1)).onEvent(captor.capture());
             reset(listener);
         }
         try {
             validateValues(ctx, BigDecimal.valueOf(1), LocalDate.of(2021, 1, 1));
         } catch (Exception e) {
-            assertTrue(e instanceof EndpointOfRangeOfDifferentTypeException);
+            assertThat(e instanceof EndpointOfRangeOfDifferentTypeException).isTrue();
             final ArgumentCaptor<FEELEvent> captor = ArgumentCaptor.forClass(FEELEvent.class);
             verify(listener, times(1)).onEvent(captor.capture());
             reset(listener);
         }
         try {
             validateValues(ctx, LocalDate.of(2021, 1, 1), BigDecimal.valueOf(1));
         } catch (Exception e) {
-            assertTrue(e instanceof EndpointOfRangeOfDifferentTypeException);
+            assertThat(e instanceof EndpointOfRangeOfDifferentTypeException).isTrue();

Review Comment:
   ```suggestion
               assertThat(e).isInstanceof(EndpointOfRangeOfDifferentTypeException.class);
   ```



##########
kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/util/CoerceUtilTest.java:
##########
@@ -49,8 +48,8 @@ void coerceValueCollectionToArrayConverted() {
                                                   null,
                                                   BuiltInType.STRING);
         Object retrieved = CoerceUtil.coerceValue(requiredType, value);
-        assertNotNull(retrieved);
-        assertEquals(item, retrieved);
+        assertThat(retrieved).isNotNull();
+        assertThat(item).isEqualTo(retrieved);

Review Comment:
   ```suggestion
           assertThat(retrieved).isEqualTo(item);
   ```



##########
kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/util/CoerceUtilTest.java:
##########
@@ -134,8 +134,8 @@ void coerceValueDateToDateTimeNotConverted() {
                                                   null,
                                                   BuiltInType.DATE_TIME);
         Object retrieved = CoerceUtil.coerceValue(requiredType, value);
-        assertNotNull(retrieved);
-        assertEquals(value, retrieved);
+        assertThat(retrieved).isNotNull();
+        assertThat(value).isEqualTo(retrieved);

Review Comment:
   ```suggestion
           assertThat(retrieved).isEqualTo(value);
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/LocalDateRangeIteratorTest.java:
##########
@@ -44,39 +42,39 @@ static void setup() {
     @Test
     void hasNextAscendantTest() {
         LocalDateRangeIterator iterator = new LocalDateRangeIterator(before, after);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();

Review Comment:
   ```suggestion
           assertThat(iterator).hasNext();
   ```



##########
kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/util/CoerceUtilTest.java:
##########
@@ -66,8 +65,8 @@ void coerceValueCollectionToArrayNotConverted() {
                                                   null,
                                                   BuiltInType.STRING);
         Object retrieved = CoerceUtil.coerceValue(requiredType, value);
-        assertNotNull(retrieved);
-        assertEquals(value, retrieved);
+        assertThat(retrieved).isNotNull();
+        assertThat(value).isEqualTo(retrieved);

Review Comment:
   ```suggestion
           assertThat(retrieved).isEqualTo(value);
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/util/CoerceUtilTest.java:
##########
@@ -156,41 +154,41 @@ void coerceParamsNotConverted() {
         Object value = Collections.singleton(item);
         Object[] actualParams1 = {value, "NOT_DATE"};
         Optional<Object[]> retrieved = CoerceUtil.coerceParams(Set.class, BigDecimal.class, actualParams1, 0);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isEmpty());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isEmpty()).isTrue();
 
         value = LocalDate.now();
         Object[] actualParams2 = {value, "NOT_DATE"};
         retrieved = CoerceUtil.coerceParams(LocalDate.class, String.class, actualParams2, 0);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isEmpty());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isEmpty()).isTrue();
     }
 
     @Test
     void actualCoerceParameterToDateTimeConverted() {
         Object value = LocalDate.now();
         Object retrieved = CoerceUtil.actualCoerceParameter(BuiltInType.DATE_TIME, value);
-        assertNotNull(retrieved);
-        assertTrue(retrieved instanceof ZonedDateTime);
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved instanceof ZonedDateTime).isTrue();

Review Comment:
   ```suggestion
           assertThat(retrieved).isInstanceOf(ZonedDateTime.class);
   ```



##########
kie-dmn/kie-dmn-validation/src/test/java/org/kie/dmn/validation/ValidatorTest.java:
##########
@@ -558,9 +556,9 @@ private void testFiles(List<String> modelFiles) {
                 .map(ClassPathResource::new)
                 .toArray(value -> new Resource[modelFiles.size()]);
         List<DMNMessage> dmnMessages = validatorBuilder.theseModels(resources);
-        assertNotNull(dmnMessages);
+        assertThat(dmnMessages).isNotNull();
         dmnMessages.forEach(dmnMessage -> LOGGER.error(dmnMessage.toString()));
-        assertTrue(dmnMessages.isEmpty());
+        assertThat(dmnMessages.isEmpty()).isTrue();

Review Comment:
   ```suggestion
           assertThat(dmnMessages).isEmpty();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/BigDecimalRangeIteratorTest.java:
##########
@@ -36,27 +34,27 @@ void hasNextAscendantTest() {
         BigDecimal start = BigDecimal.valueOf(1);
         BigDecimal end = BigDecimal.valueOf(3);
         BigDecimalRangeIterator iterator = new BigDecimalRangeIterator(start, end);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         BigDecimal next = iterator.next();
         while (!next.equals(end)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();

Review Comment:
   ```suggestion
               assertThat(iterator).hasNext();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/util/CoerceUtilTest.java:
##########
@@ -199,10 +197,10 @@ void actualCoerceParams() {
         Object[] actualParams = {value, "NOT_DATE"};
         Object coercedValue = BigDecimal.valueOf(1L);
         Object[] retrieved = CoerceUtil.actualCoerceParams(actualParams, coercedValue, 0);
-        assertNotNull(retrieved);
-        assertEquals(actualParams.length, retrieved.length);
-        assertEquals(coercedValue, retrieved[0]);
-        assertEquals(actualParams[1], retrieved[1]);
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.length).isEqualTo(actualParams.length);

Review Comment:
   ```suggestion
           assertThat(retrieved).hasSameLengthAs(actualParams);
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/BigDecimalRangeIteratorTest.java:
##########
@@ -36,27 +34,27 @@ void hasNextAscendantTest() {
         BigDecimal start = BigDecimal.valueOf(1);
         BigDecimal end = BigDecimal.valueOf(3);
         BigDecimalRangeIterator iterator = new BigDecimalRangeIterator(start, end);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         BigDecimal next = iterator.next();
         while (!next.equals(end)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();
             next = iterator.next();
         }
-        assertFalse(iterator.hasNext());
+        assertThat(iterator.hasNext()).isFalse();

Review Comment:
   ```suggestion
           assertThat(iterator).isExhausted();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/util/CoerceUtilTest.java:
##########
@@ -156,41 +154,41 @@ void coerceParamsNotConverted() {
         Object value = Collections.singleton(item);
         Object[] actualParams1 = {value, "NOT_DATE"};
         Optional<Object[]> retrieved = CoerceUtil.coerceParams(Set.class, BigDecimal.class, actualParams1, 0);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isEmpty());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isEmpty()).isTrue();

Review Comment:
   ```suggestion
           assertThat(retrieved).isEmpty();
   ```



##########
kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/util/CoerceUtilTest.java:
##########
@@ -179,14 +179,14 @@ void actualCoerceValueDateToDateTime() {
                                                   null,
                                                   BuiltInType.DATE_TIME);
         Object retrieved = CoerceUtil.actualCoerceValue(requiredType, value);
-        assertNotNull(retrieved);
-        assertTrue(retrieved instanceof ZonedDateTime);
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved).isInstanceOf(ZonedDateTime.class);
         ZonedDateTime zdtRetrieved = (ZonedDateTime)retrieved;
-        assertEquals(value, zdtRetrieved.toLocalDate());
-        assertEquals(ZoneOffset.UTC, zdtRetrieved.getOffset());
-        assertEquals(0, zdtRetrieved.getHour());
-        assertEquals(0, zdtRetrieved.getMinute());
-        assertEquals(0, zdtRetrieved.getSecond());
+        assertThat(value).isEqualTo(zdtRetrieved.toLocalDate());
+        assertThat(ZoneOffset.UTC).isEqualTo(zdtRetrieved.getOffset());

Review Comment:
   ```suggestion
           assertThat(zdtRetrieved.getOffset()).isEqualTo(ZoneOffset.UTC);
   ```



##########
kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/util/CoerceUtilTest.java:
##########
@@ -179,14 +179,14 @@ void actualCoerceValueDateToDateTime() {
                                                   null,
                                                   BuiltInType.DATE_TIME);
         Object retrieved = CoerceUtil.actualCoerceValue(requiredType, value);
-        assertNotNull(retrieved);
-        assertTrue(retrieved instanceof ZonedDateTime);
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved).isInstanceOf(ZonedDateTime.class);
         ZonedDateTime zdtRetrieved = (ZonedDateTime)retrieved;
-        assertEquals(value, zdtRetrieved.toLocalDate());
-        assertEquals(ZoneOffset.UTC, zdtRetrieved.getOffset());
-        assertEquals(0, zdtRetrieved.getHour());
-        assertEquals(0, zdtRetrieved.getMinute());
-        assertEquals(0, zdtRetrieved.getSecond());
+        assertThat(value).isEqualTo(zdtRetrieved.toLocalDate());

Review Comment:
   ```suggestion
           assertThat(zdtRetrieved.toLocalDate()).isEqualTo(value);
   ```



##########
kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/util/CoerceUtilTest.java:
##########
@@ -179,14 +179,14 @@ void actualCoerceValueDateToDateTime() {
                                                   null,
                                                   BuiltInType.DATE_TIME);
         Object retrieved = CoerceUtil.actualCoerceValue(requiredType, value);
-        assertNotNull(retrieved);
-        assertTrue(retrieved instanceof ZonedDateTime);
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved).isInstanceOf(ZonedDateTime.class);
         ZonedDateTime zdtRetrieved = (ZonedDateTime)retrieved;
-        assertEquals(value, zdtRetrieved.toLocalDate());
-        assertEquals(ZoneOffset.UTC, zdtRetrieved.getOffset());
-        assertEquals(0, zdtRetrieved.getHour());
-        assertEquals(0, zdtRetrieved.getMinute());
-        assertEquals(0, zdtRetrieved.getSecond());
+        assertThat(value).isEqualTo(zdtRetrieved.toLocalDate());
+        assertThat(ZoneOffset.UTC).isEqualTo(zdtRetrieved.getOffset());
+        assertThat(0).isEqualTo(zdtRetrieved.getHour());

Review Comment:
   ```suggestion
           assertThat(zdtRetrieved.getHour()).isEqualTo(0);
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/util/CoerceUtilTest.java:
##########
@@ -108,46 +106,46 @@ void coerceParamsCollectionToArrayConverted() {
         Object value = Collections.singleton(item);
         Object[] actualParams1 = {value, "NOT_DATE"};
         Optional<Object[]> retrieved = CoerceUtil.coerceParams(Set.class, String.class, actualParams1, 0);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();
         Object[] retrievedObjects = retrieved.get();
-        assertEquals(item, retrievedObjects[0]);
-        assertEquals(actualParams1[1], retrievedObjects[1]);
+        assertThat(retrievedObjects[0]).isEqualTo(item);
+        assertThat(retrievedObjects[1]).isEqualTo(actualParams1[1]);
 
 
         item = LocalDate.now();
         value = Collections.singleton(item);
         Object[] actualParams2 = {value, "NOT_DATE"};
         retrieved = CoerceUtil.coerceParams(Set.class, ZonedDateTime.class, actualParams2, 0);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();

Review Comment:
   ```suggestion
           assertThat(retrieved).isPresent();
   ```



##########
kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/util/CoerceUtilTest.java:
##########
@@ -179,14 +179,14 @@ void actualCoerceValueDateToDateTime() {
                                                   null,
                                                   BuiltInType.DATE_TIME);
         Object retrieved = CoerceUtil.actualCoerceValue(requiredType, value);
-        assertNotNull(retrieved);
-        assertTrue(retrieved instanceof ZonedDateTime);
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved).isInstanceOf(ZonedDateTime.class);
         ZonedDateTime zdtRetrieved = (ZonedDateTime)retrieved;
-        assertEquals(value, zdtRetrieved.toLocalDate());
-        assertEquals(ZoneOffset.UTC, zdtRetrieved.getOffset());
-        assertEquals(0, zdtRetrieved.getHour());
-        assertEquals(0, zdtRetrieved.getMinute());
-        assertEquals(0, zdtRetrieved.getSecond());
+        assertThat(value).isEqualTo(zdtRetrieved.toLocalDate());
+        assertThat(ZoneOffset.UTC).isEqualTo(zdtRetrieved.getOffset());
+        assertThat(0).isEqualTo(zdtRetrieved.getHour());
+        assertThat(0).isEqualTo(zdtRetrieved.getMinute());
+        assertThat(0).isEqualTo(zdtRetrieved.getSecond());

Review Comment:
   ```suggestion
           assertThat(zdtRetrieved.getSecond()).isEqualTo(0);
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/util/CoerceUtilTest.java:
##########
@@ -45,61 +43,61 @@ void coerceParam() {
         Object valueObject = 34;
         Object actualObject = List.of(valueObject);
         Optional<Object> retrieved = CoerceUtil.coerceParam(currentIdxActualParameterType, expectedParameterType, actualObject);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
-        assertEquals(valueObject, retrieved.get());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();
+        assertThat(retrieved.get()).isEqualTo(valueObject);
 
         // Coerce single element to singleton list
         currentIdxActualParameterType = Number.class;
         expectedParameterType = List.class;
         actualObject = 34;
         retrieved = CoerceUtil.coerceParam(currentIdxActualParameterType, expectedParameterType, actualObject);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
-        assertTrue(retrieved.get() instanceof List);
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();
+        assertThat(retrieved.get() instanceof List).isTrue();
         List lstRetrieved = (List) retrieved.get();
-        assertEquals(1, lstRetrieved.size());
-        assertEquals(actualObject, lstRetrieved.get(0));
+        assertThat(lstRetrieved.size()).isEqualTo(1);
+        assertThat(lstRetrieved.get(0)).isEqualTo(actualObject);
 
         // Coerce date to date and time
         actualObject = LocalDate.now();
         currentIdxActualParameterType = LocalDate.class;
         expectedParameterType = ZonedDateTime.class;
         retrieved = CoerceUtil.coerceParam(currentIdxActualParameterType, expectedParameterType, actualObject);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
-        assertTrue(retrieved.get() instanceof ZonedDateTime);
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();

Review Comment:
   ```suggestion
           assertThat(retrieved).isPresent();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/util/CoerceUtilTest.java:
##########
@@ -45,61 +43,61 @@ void coerceParam() {
         Object valueObject = 34;
         Object actualObject = List.of(valueObject);
         Optional<Object> retrieved = CoerceUtil.coerceParam(currentIdxActualParameterType, expectedParameterType, actualObject);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
-        assertEquals(valueObject, retrieved.get());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();
+        assertThat(retrieved.get()).isEqualTo(valueObject);
 
         // Coerce single element to singleton list
         currentIdxActualParameterType = Number.class;
         expectedParameterType = List.class;
         actualObject = 34;
         retrieved = CoerceUtil.coerceParam(currentIdxActualParameterType, expectedParameterType, actualObject);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
-        assertTrue(retrieved.get() instanceof List);
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();
+        assertThat(retrieved.get() instanceof List).isTrue();
         List lstRetrieved = (List) retrieved.get();
-        assertEquals(1, lstRetrieved.size());
-        assertEquals(actualObject, lstRetrieved.get(0));
+        assertThat(lstRetrieved.size()).isEqualTo(1);

Review Comment:
   ```suggestion
           assertThat(lstRetrieved).hasSize(1);
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/util/CoerceUtilTest.java:
##########
@@ -156,41 +154,41 @@ void coerceParamsNotConverted() {
         Object value = Collections.singleton(item);
         Object[] actualParams1 = {value, "NOT_DATE"};
         Optional<Object[]> retrieved = CoerceUtil.coerceParams(Set.class, BigDecimal.class, actualParams1, 0);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isEmpty());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isEmpty()).isTrue();
 
         value = LocalDate.now();
         Object[] actualParams2 = {value, "NOT_DATE"};
         retrieved = CoerceUtil.coerceParams(LocalDate.class, String.class, actualParams2, 0);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isEmpty());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isEmpty()).isTrue();

Review Comment:
   ```suggestion
           assertThat(retrieved).isEmpty();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/util/CoerceUtilTest.java:
##########
@@ -45,61 +43,61 @@ void coerceParam() {
         Object valueObject = 34;
         Object actualObject = List.of(valueObject);
         Optional<Object> retrieved = CoerceUtil.coerceParam(currentIdxActualParameterType, expectedParameterType, actualObject);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
-        assertEquals(valueObject, retrieved.get());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();
+        assertThat(retrieved.get()).isEqualTo(valueObject);
 
         // Coerce single element to singleton list
         currentIdxActualParameterType = Number.class;
         expectedParameterType = List.class;
         actualObject = 34;
         retrieved = CoerceUtil.coerceParam(currentIdxActualParameterType, expectedParameterType, actualObject);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
-        assertTrue(retrieved.get() instanceof List);
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();
+        assertThat(retrieved.get() instanceof List).isTrue();
         List lstRetrieved = (List) retrieved.get();
-        assertEquals(1, lstRetrieved.size());
-        assertEquals(actualObject, lstRetrieved.get(0));
+        assertThat(lstRetrieved.size()).isEqualTo(1);
+        assertThat(lstRetrieved.get(0)).isEqualTo(actualObject);
 
         // Coerce date to date and time
         actualObject = LocalDate.now();
         currentIdxActualParameterType = LocalDate.class;
         expectedParameterType = ZonedDateTime.class;
         retrieved = CoerceUtil.coerceParam(currentIdxActualParameterType, expectedParameterType, actualObject);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
-        assertTrue(retrieved.get() instanceof ZonedDateTime);
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();
+        assertThat(retrieved.get() instanceof ZonedDateTime).isTrue();
         ZonedDateTime zdtRetrieved = (ZonedDateTime) retrieved.get();
-        assertEquals(actualObject, zdtRetrieved.toLocalDate());
-        assertEquals(ZoneOffset.UTC, zdtRetrieved.getOffset());
-        assertEquals(0, zdtRetrieved.getHour());
-        assertEquals(0, zdtRetrieved.getMinute());
-        assertEquals(0, zdtRetrieved.getSecond());
+        assertThat(zdtRetrieved.toLocalDate()).isEqualTo(actualObject);
+        assertThat(zdtRetrieved.getOffset()).isEqualTo(ZoneOffset.UTC);
+        assertThat(zdtRetrieved.getHour()).isEqualTo(0);
+        assertThat(zdtRetrieved.getMinute()).isEqualTo(0);
+        assertThat(zdtRetrieved.getSecond()).isEqualTo(0);
     }
 
     @Test
     void coerceParameterDateToDateTimeConverted() {
         Object value = LocalDate.now();
         Object retrieved = CoerceUtil.coerceParameter(BuiltInType.DATE_TIME, value);
-        assertNotNull(retrieved);
-        assertTrue(retrieved instanceof ZonedDateTime);
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved instanceof ZonedDateTime).isTrue();

Review Comment:
   ```suggestion
           assertThat(retrieved).isInstanceOf(ZonedDateTime.class);
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/ForIterationUtilsTest.java:
##########
@@ -72,23 +71,23 @@ void getForIterationNotValidTest() {
         try {
             getForIteration(ctx, "iteration", "NOT", "VALID");
         } catch (Exception e) {
-            assertTrue(e instanceof EndpointOfRangeNotValidTypeException);
+            assertThat(e instanceof EndpointOfRangeNotValidTypeException).isTrue();
             final ArgumentCaptor<FEELEvent> captor = ArgumentCaptor.forClass(FEELEvent.class);
             verify(listener, times(1)).onEvent(captor.capture());
             reset(listener);
         }
         try {
             getForIteration(ctx, "iteration", BigDecimal.valueOf(1), LocalDate.of(2021, 1, 1));
         } catch (Exception e) {
-            assertTrue(e instanceof EndpointOfRangeOfDifferentTypeException);
+            assertThat(e instanceof EndpointOfRangeOfDifferentTypeException).isTrue();
             final ArgumentCaptor<FEELEvent> captor = ArgumentCaptor.forClass(FEELEvent.class);
             verify(listener, times(1)).onEvent(captor.capture());
             reset(listener);
         }
         try {
             getForIteration(ctx, "iteration", LocalDate.of(2021, 1, 1), BigDecimal.valueOf(1));
         } catch (Exception e) {
-            assertTrue(e instanceof EndpointOfRangeOfDifferentTypeException);
+            assertThat(e instanceof EndpointOfRangeOfDifferentTypeException).isTrue();

Review Comment:
   ```suggestion
               assertThat(e).isInstanceof(EndpointOfRangeOfDifferentTypeException);
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/util/CoerceUtilTest.java:
##########
@@ -45,61 +43,61 @@ void coerceParam() {
         Object valueObject = 34;
         Object actualObject = List.of(valueObject);
         Optional<Object> retrieved = CoerceUtil.coerceParam(currentIdxActualParameterType, expectedParameterType, actualObject);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
-        assertEquals(valueObject, retrieved.get());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();

Review Comment:
   ```suggestion
           assertThat(retrieved).isPresent();
   ```



##########
kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/util/CoerceUtilTest.java:
##########
@@ -163,8 +163,8 @@ void actualCoerceValueCollectionToArray() {
                                                   null,
                                                   BuiltInType.STRING);
         Object retrieved = CoerceUtil.actualCoerceValue(requiredType, value);
-        assertNotNull(retrieved);
-        assertEquals(item, retrieved);
+        assertThat(retrieved).isNotNull();
+        assertThat(item).isEqualTo(retrieved);

Review Comment:
   ```suggestion
           assertThat(retrieved).isEqualTo(value);
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/ZonedDateTimeRangeIteratorTest.java:
##########
@@ -103,8 +101,8 @@ void hasNotNextDescendantTest() {
         ZonedDateTime end = getZonedDateTime(2021, 1, 1, 10, 15);
         ZonedDateTimeRangeIterator iterator = new ZonedDateTimeRangeIterator(start, end);
         ZonedDateTime retrieved = iterator.next();
-        assertEquals(start, retrieved);
-        assertFalse(iterator.hasNext());
+        assertThat(retrieved).isEqualTo(start);
+        assertThat(iterator.hasNext()).isFalse();

Review Comment:
   ```suggestion
           assertThat(iterator).isExhausted();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/ZonedDateTimeRangeIteratorTest.java:
##########
@@ -93,8 +91,8 @@ void hasNotNextAscendantTest() {
         ZonedDateTime end = getZonedDateTime(2021, 1, 2, 10, 14);
         ZonedDateTimeRangeIterator iterator = new ZonedDateTimeRangeIterator(start, end);
         ZonedDateTime retrieved = iterator.next();
-        assertEquals(start, retrieved);
-        assertFalse(iterator.hasNext());
+        assertThat(retrieved).isEqualTo(start);
+        assertThat(iterator.hasNext()).isFalse();

Review Comment:
   ```suggestion
           assertThat(iterator).isExhausted();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/ZonedDateTimeRangeIteratorTest.java:
##########
@@ -47,25 +45,25 @@ static void setup() {
     @Test
     void hasNextAscendantTest() {
         ZonedDateTimeRangeIterator iterator = new ZonedDateTimeRangeIterator(before, after);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         ZonedDateTime next = iterator.next();
         while (next.isBefore(after)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();
             next = iterator.next();
         }
-        assertFalse(iterator.hasNext());
+        assertThat(iterator.hasNext()).isFalse();
     }
 
     @Test
     void hasNextDescendantTest() {
         ZonedDateTimeRangeIterator iterator = new ZonedDateTimeRangeIterator(after, before);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         ZonedDateTime next = iterator.next();
         while (!next.equals(before)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();

Review Comment:
   ```suggestion
               assertThat(iterator).hasNext();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/ZonedDateTimeRangeIteratorTest.java:
##########
@@ -47,25 +45,25 @@ static void setup() {
     @Test
     void hasNextAscendantTest() {
         ZonedDateTimeRangeIterator iterator = new ZonedDateTimeRangeIterator(before, after);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         ZonedDateTime next = iterator.next();
         while (next.isBefore(after)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();
             next = iterator.next();
         }
-        assertFalse(iterator.hasNext());
+        assertThat(iterator.hasNext()).isFalse();
     }
 
     @Test
     void hasNextDescendantTest() {
         ZonedDateTimeRangeIterator iterator = new ZonedDateTimeRangeIterator(after, before);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         ZonedDateTime next = iterator.next();
         while (!next.equals(before)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();
             next = iterator.next();
         }
-        assertFalse(iterator.hasNext());
+        assertThat(iterator.hasNext()).isFalse();

Review Comment:
   ```suggestion
           assertThat(iterator).isExhausted();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/util/CoerceUtilTest.java:
##########
@@ -45,61 +43,61 @@ void coerceParam() {
         Object valueObject = 34;
         Object actualObject = List.of(valueObject);
         Optional<Object> retrieved = CoerceUtil.coerceParam(currentIdxActualParameterType, expectedParameterType, actualObject);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
-        assertEquals(valueObject, retrieved.get());
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();
+        assertThat(retrieved.get()).isEqualTo(valueObject);
 
         // Coerce single element to singleton list
         currentIdxActualParameterType = Number.class;
         expectedParameterType = List.class;
         actualObject = 34;
         retrieved = CoerceUtil.coerceParam(currentIdxActualParameterType, expectedParameterType, actualObject);
-        assertNotNull(retrieved);
-        assertTrue(retrieved.isPresent());
-        assertTrue(retrieved.get() instanceof List);
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved.isPresent()).isTrue();
+        assertThat(retrieved.get() instanceof List).isTrue();

Review Comment:
   ```suggestion
           assertThat(retrieved.get()).isInstanceOf(List.class);
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/LocalDateRangeIteratorTest.java:
##########
@@ -44,39 +42,39 @@ static void setup() {
     @Test
     void hasNextAscendantTest() {
         LocalDateRangeIterator iterator = new LocalDateRangeIterator(before, after);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         LocalDate next = iterator.next();
         while (!next.equals(after)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();
             next = iterator.next();
         }
-        assertFalse(iterator.hasNext());
+        assertThat(iterator.hasNext()).isFalse();
     }
 
     @Test
     void hasNextDescendantTest() {
         LocalDateRangeIterator iterator = new LocalDateRangeIterator(after, before);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         LocalDate next = iterator.next();
         while (!next.equals(before)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();
             next = iterator.next();
         }
-        assertFalse(iterator.hasNext());
+        assertThat(iterator.hasNext()).isFalse();

Review Comment:
   ```suggestion
           assertThat(iterator).isExhausted();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/ZonedDateTimeRangeIteratorTest.java:
##########
@@ -47,25 +45,25 @@ static void setup() {
     @Test
     void hasNextAscendantTest() {
         ZonedDateTimeRangeIterator iterator = new ZonedDateTimeRangeIterator(before, after);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         ZonedDateTime next = iterator.next();
         while (next.isBefore(after)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();
             next = iterator.next();
         }
-        assertFalse(iterator.hasNext());
+        assertThat(iterator.hasNext()).isFalse();
     }
 
     @Test
     void hasNextDescendantTest() {
         ZonedDateTimeRangeIterator iterator = new ZonedDateTimeRangeIterator(after, before);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();

Review Comment:
   ```suggestion
           assertThat(iterator).hasNext();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/ZonedDateTimeRangeIteratorTest.java:
##########
@@ -47,25 +45,25 @@ static void setup() {
     @Test
     void hasNextAscendantTest() {
         ZonedDateTimeRangeIterator iterator = new ZonedDateTimeRangeIterator(before, after);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();

Review Comment:
   ```suggestion
           assertThat(iterator).hasNext();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/LocalDateRangeIteratorTest.java:
##########
@@ -44,39 +42,39 @@ static void setup() {
     @Test
     void hasNextAscendantTest() {
         LocalDateRangeIterator iterator = new LocalDateRangeIterator(before, after);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         LocalDate next = iterator.next();
         while (!next.equals(after)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();
             next = iterator.next();
         }
-        assertFalse(iterator.hasNext());
+        assertThat(iterator.hasNext()).isFalse();
     }
 
     @Test
     void hasNextDescendantTest() {
         LocalDateRangeIterator iterator = new LocalDateRangeIterator(after, before);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         LocalDate next = iterator.next();
         while (!next.equals(before)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();

Review Comment:
   ```suggestion
               assertThat(iterator).hasNext();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/LocalDateRangeIteratorTest.java:
##########
@@ -44,39 +42,39 @@ static void setup() {
     @Test
     void hasNextAscendantTest() {
         LocalDateRangeIterator iterator = new LocalDateRangeIterator(before, after);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         LocalDate next = iterator.next();
         while (!next.equals(after)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();
             next = iterator.next();
         }
-        assertFalse(iterator.hasNext());
+        assertThat(iterator.hasNext()).isFalse();

Review Comment:
   ```suggestion
           assertThat(iterator).isExhausted();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/ForIterationUtilsTest.java:
##########
@@ -72,23 +71,23 @@ void getForIterationNotValidTest() {
         try {
             getForIteration(ctx, "iteration", "NOT", "VALID");
         } catch (Exception e) {
-            assertTrue(e instanceof EndpointOfRangeNotValidTypeException);
+            assertThat(e instanceof EndpointOfRangeNotValidTypeException).isTrue();

Review Comment:
   ```suggestion
               assertThat(e).isInstanceof(EndpointOfRangeNotValidTypeException.class);
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/LocalDateRangeIteratorTest.java:
##########
@@ -44,39 +42,39 @@ static void setup() {
     @Test
     void hasNextAscendantTest() {
         LocalDateRangeIterator iterator = new LocalDateRangeIterator(before, after);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         LocalDate next = iterator.next();
         while (!next.equals(after)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();
             next = iterator.next();
         }
-        assertFalse(iterator.hasNext());
+        assertThat(iterator.hasNext()).isFalse();
     }
 
     @Test
     void hasNextDescendantTest() {
         LocalDateRangeIterator iterator = new LocalDateRangeIterator(after, before);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();

Review Comment:
   ```suggestion
           assertThat(iterator).hasNext();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/ForIterationUtilsTest.java:
##########
@@ -127,23 +126,23 @@ void validateValuesFalseTest() {
         try {
             validateValues(ctx, "INVALID", "INVALID");
         } catch (Exception e) {
-            assertTrue(e instanceof EndpointOfRangeNotValidTypeException);
+            assertThat(e instanceof EndpointOfRangeNotValidTypeException).isTrue();
             final ArgumentCaptor<FEELEvent> captor = ArgumentCaptor.forClass(FEELEvent.class);
             verify(listener, times(1)).onEvent(captor.capture());
             reset(listener);
         }
         try {
             validateValues(ctx, BigDecimal.valueOf(1), LocalDate.of(2021, 1, 1));
         } catch (Exception e) {
-            assertTrue(e instanceof EndpointOfRangeOfDifferentTypeException);
+            assertThat(e instanceof EndpointOfRangeOfDifferentTypeException).isTrue();

Review Comment:
   ```suggestion
               assertThat(e).isInstanceof(EndpointOfRangeOfDifferentTypeException.class);
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/BigDecimalRangeIteratorTest.java:
##########
@@ -36,27 +34,27 @@ void hasNextAscendantTest() {
         BigDecimal start = BigDecimal.valueOf(1);
         BigDecimal end = BigDecimal.valueOf(3);
         BigDecimalRangeIterator iterator = new BigDecimalRangeIterator(start, end);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         BigDecimal next = iterator.next();
         while (!next.equals(end)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();
             next = iterator.next();
         }
-        assertFalse(iterator.hasNext());
+        assertThat(iterator.hasNext()).isFalse();
     }
 
     @Test
     void hasNextDescendantTest() {
         BigDecimal start = BigDecimal.valueOf(3);
         BigDecimal end = BigDecimal.valueOf(1);
         BigDecimalRangeIterator iterator = new BigDecimalRangeIterator(start, end);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();

Review Comment:
   ```suggestion
           assertThat(iterator).hasNext();
   ```



##########
kie-dmn/kie-dmn-core/src/test/java/org/kie/dmn/core/util/CoerceUtilTest.java:
##########
@@ -179,14 +179,14 @@ void actualCoerceValueDateToDateTime() {
                                                   null,
                                                   BuiltInType.DATE_TIME);
         Object retrieved = CoerceUtil.actualCoerceValue(requiredType, value);
-        assertNotNull(retrieved);
-        assertTrue(retrieved instanceof ZonedDateTime);
+        assertThat(retrieved).isNotNull();
+        assertThat(retrieved).isInstanceOf(ZonedDateTime.class);
         ZonedDateTime zdtRetrieved = (ZonedDateTime)retrieved;
-        assertEquals(value, zdtRetrieved.toLocalDate());
-        assertEquals(ZoneOffset.UTC, zdtRetrieved.getOffset());
-        assertEquals(0, zdtRetrieved.getHour());
-        assertEquals(0, zdtRetrieved.getMinute());
-        assertEquals(0, zdtRetrieved.getSecond());
+        assertThat(value).isEqualTo(zdtRetrieved.toLocalDate());
+        assertThat(ZoneOffset.UTC).isEqualTo(zdtRetrieved.getOffset());
+        assertThat(0).isEqualTo(zdtRetrieved.getHour());
+        assertThat(0).isEqualTo(zdtRetrieved.getMinute());

Review Comment:
   ```suggestion
           assertThat(zdtRetrieved.getMinute()).isEqualTo(0);
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/LocalDateRangeIteratorTest.java:
##########
@@ -44,39 +42,39 @@ static void setup() {
     @Test
     void hasNextAscendantTest() {
         LocalDateRangeIterator iterator = new LocalDateRangeIterator(before, after);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         LocalDate next = iterator.next();
         while (!next.equals(after)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();

Review Comment:
   ```suggestion
               assertThat(iterator).hasNext();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/ForIterationUtilsTest.java:
##########
@@ -108,7 +107,7 @@ void valueMustBeValidFalseTest() {
         try {
             valueMustBeValid(ctx, "INVALID");
         } catch (Exception e) {
-            assertTrue(e instanceof EndpointOfRangeNotValidTypeException);
+            assertThat(e instanceof EndpointOfRangeNotValidTypeException).isTrue();

Review Comment:
   ```suggestion
               assertThat(e).isInstanceof(EndpointOfRangeNotValidTypeException.class);
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/BigDecimalRangeIteratorTest.java:
##########
@@ -36,27 +34,27 @@ void hasNextAscendantTest() {
         BigDecimal start = BigDecimal.valueOf(1);
         BigDecimal end = BigDecimal.valueOf(3);
         BigDecimalRangeIterator iterator = new BigDecimalRangeIterator(start, end);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         BigDecimal next = iterator.next();
         while (!next.equals(end)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();
             next = iterator.next();
         }
-        assertFalse(iterator.hasNext());
+        assertThat(iterator.hasNext()).isFalse();
     }
 
     @Test
     void hasNextDescendantTest() {
         BigDecimal start = BigDecimal.valueOf(3);
         BigDecimal end = BigDecimal.valueOf(1);
         BigDecimalRangeIterator iterator = new BigDecimalRangeIterator(start, end);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         BigDecimal next = iterator.next();
         while (!next.equals(end)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();

Review Comment:
   ```suggestion
              assertThat(iterator).hasNext();
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/ForIterationUtilsTest.java:
##########
@@ -72,23 +71,23 @@ void getForIterationNotValidTest() {
         try {
             getForIteration(ctx, "iteration", "NOT", "VALID");
         } catch (Exception e) {
-            assertTrue(e instanceof EndpointOfRangeNotValidTypeException);
+            assertThat(e instanceof EndpointOfRangeNotValidTypeException).isTrue();
             final ArgumentCaptor<FEELEvent> captor = ArgumentCaptor.forClass(FEELEvent.class);
             verify(listener, times(1)).onEvent(captor.capture());
             reset(listener);
         }
         try {
             getForIteration(ctx, "iteration", BigDecimal.valueOf(1), LocalDate.of(2021, 1, 1));
         } catch (Exception e) {
-            assertTrue(e instanceof EndpointOfRangeOfDifferentTypeException);
+            assertThat(e instanceof EndpointOfRangeOfDifferentTypeException).isTrue();

Review Comment:
   ```suggestion
               assertThat(e).isInstanceof(EndpointOfRangeOfDifferentTypeException);
   ```



##########
kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/lang/ast/forexpressioniterators/BigDecimalRangeIteratorTest.java:
##########
@@ -36,27 +34,27 @@ void hasNextAscendantTest() {
         BigDecimal start = BigDecimal.valueOf(1);
         BigDecimal end = BigDecimal.valueOf(3);
         BigDecimalRangeIterator iterator = new BigDecimalRangeIterator(start, end);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         BigDecimal next = iterator.next();
         while (!next.equals(end)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();
             next = iterator.next();
         }
-        assertFalse(iterator.hasNext());
+        assertThat(iterator.hasNext()).isFalse();
     }
 
     @Test
     void hasNextDescendantTest() {
         BigDecimal start = BigDecimal.valueOf(3);
         BigDecimal end = BigDecimal.valueOf(1);
         BigDecimalRangeIterator iterator = new BigDecimalRangeIterator(start, end);
-        assertTrue(iterator.hasNext());
+        assertThat(iterator.hasNext()).isTrue();
         BigDecimal next = iterator.next();
         while (!next.equals(end)) {
-            assertTrue(iterator.hasNext());
+            assertThat(iterator.hasNext()).isTrue();
             next = iterator.next();
         }
-        assertFalse(iterator.hasNext());
+        assertThat(iterator.hasNext()).isFalse();

Review Comment:
   ```suggestion
          assertThat(iterator).isExhausted();
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@kie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@kie.apache.org
For additional commands, e-mail: commits-help@kie.apache.org


Re: [PR] [incubator-kie-issues#1411] Ban usage of Junit assertions inside DMN [incubator-kie-drools]

Posted by "gitgabrio (via GitHub)" <gi...@apache.org>.
gitgabrio merged PR #6062:
URL: https://github.com/apache/incubator-kie-drools/pull/6062


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@kie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@kie.apache.org
For additional commands, e-mail: commits-help@kie.apache.org