[ 
https://issues.apache.org/jira/browse/NIFI-11035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17677493#comment-17677493
 ] 

Daniel Stieglitz edited comment on NIFI-11035 at 1/16/23 7:03 PM:
------------------------------------------------------------------

[~exceptionfactory] Thanks for the clarification. I have a specific question 
for conversion to JUnit 5 assertions.
In 
nifi/nifi-commons/nifi-utils/src/test/groovy/org/apache/nifi/util/TestFormatUtilsGroovy.groovy
 in test testMakeWholeNumberTimeShouldHandleMetricConversions

I tried replacing 

{code:java}
results.every { String key, List values ->
            assert values.first() == SCENARIOS[key].expectedValue
            assert values.last() == SCENARIOS[key].expectedUnits
        }
{code}

with

{code:java}
 results.entrySet().forEach(entry -> {
            assertEquals(SCENARIOS.get(entry.getKey()).expectedValue, 
entry.getValue().get(0))
            assertEquals(SCENARIOS.get(entry.getKey()).expectedUnits, 
entry.getValue().get(1))
        })
{code}

When I do that I see the unit test fails with
{code:java}
junit.framework.AssertionFailedError: expected:<750000> but was:<750>
Expected :750000
Actual   :750
{code}

When I added a log statement within the original Groovy code (in the closure) I 
noticed "every" does not iterate through all the results only the first one 
which is not what "every" is supposed to do. Do you have any insight as to why 
I would see this behavior?



was (Author: JIRAUSER294662):
[~exceptionfactory] Thanks for the clarification. I have a specific question 
for conversion to JUnit 5 assertions.
In 
nifi/nifi-commons/nifi-utils/src/test/groovy/org/apache/nifi/util/TestFormatUtilsGroovy.groovy
 in test testMakeWholeNumberTimeShouldHandleMetricConversions

I tried replacing 

{code:java}
results.every { String key, List values ->
            assert values.first() == SCENARIOS[key].expectedValue
            assert values.last() == SCENARIOS[key].expectedUnits
        }
{code}

with

{code:java}
 results.entrySet().forEach(entry -> {
            assertEquals(SCENARIOS.get(entry.getKey()).expectedValue, 
entry.getValue().get(0))
            assertEquals(SCENARIOS.get(entry.getKey()).expectedUnits, 
entry.getValue().get(1))
        })
{code}

When I do that I see the unit test fails with
{code:java}
junit.framework.AssertionFailedError: expected:<750000> but was:<750>
Expected :750000
Actual   :750
{code}

When I through a log statement within the original Groovy code (in the closure) 
I noticed "every" does not iterate through all the results only the first one 
which is not what "every" is supposed to do. Do you have any insight as to why 
I would see this behavior?


> Replace remaining JUnit 4 assertions in nifi-commons with JUnit 5 assertions
> ----------------------------------------------------------------------------
>
>                 Key: NIFI-11035
>                 URL: https://issues.apache.org/jira/browse/NIFI-11035
>             Project: Apache NiFi
>          Issue Type: Sub-task
>            Reporter: Daniel Stieglitz
>            Assignee: Daniel Stieglitz
>            Priority: Minor
>
> A quick search nifi-commons for "org.junit.Assert" indicates there are over 
> 50 cases where JUnit 4 assertions are still being used. These should be 
> replaced with JUnit 5 assertions.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to