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

ASF GitHub Bot commented on OPENNLP-1519:
-----------------------------------------

mawiesne commented on PR #556:
URL: https://github.com/apache/opennlp/pull/556#issuecomment-1821441374

   Think we should adjust the title of the associated Jira and this PR to match 
with the changes proposed here. Now, it's an adjustment of test cases, not a 
change of the actual class under test towards a different internal data 
structure.
   
   I can adjust it tmrw, but maybe you, @jzonthemtn, have a longer part of your 
day left and want to go ahead directly.




> Use LinkedHashSet for deterministic iteration order
> ---------------------------------------------------
>
>                 Key: OPENNLP-1519
>                 URL: https://issues.apache.org/jira/browse/OPENNLP-1519
>             Project: OpenNLP
>          Issue Type: Improvement
>            Reporter: Sujithra Rajan
>            Priority: Minor
>
> Two tests
>  * `opennlp.tools.dictionary.DictionaryAsSetCaseInsensitiveTest.testEquals`
>  * 
> `opennlp.tools.dictionary.DictionaryAsSetCaseInsensitiveTest.testEqualsDifferentCase`
> uses HashSet for entrySet while initializing the 'Dictionary' and thus the 
> order is not constant all the time.
> This was found by using the 
> [NonDex][https://github.com/TestingResearchIllinois/NonDex] tool.
> Encountered the following error messages:
> {quote}org.opentest4j.AssertionFailedError: expected: <[1a, 1b]> but was: 
> <[1b, 1a]>
> at 
> opennlp.tools.dictionary.DictionaryAsSetCaseInsensitiveTest.testEquals(DictionaryAsSetCaseInsensitiveTest.java:121)
> {quote}
> {quote}org.opentest4j.AssertionFailedError: expected: <[1a, 1b]> but was: 
> <[1B, 1A]>
> at 
> opennlp.tools.dictionary.DictionaryAsSetCaseInsensitiveTest.testEqualsDifferentCase(DictionaryAsSetCaseInsensitiveTest.java:142)
> {quote}
> {quote}org.opentest4j.AssertionFailedError: expected: <[[Berlin], 
> [Stockholm], [New,York], [London], [Copenhagen], [Paris]]> but was: 
> <[[Copenhagen], [London], [New,York], [Stockholm], [Paris], [Berlin]]>
> at 
> opennlp.uima.dictionary.DictionaryResourceTest.testDictionaryWasLoaded(DictionaryResourceTest.java:76)
> {quote}
>  
> The fix is to change HashSet to LinkedHashSet so that the iteration order 
> remains stable all the time. 
> Assertion statement of 'testDictionaryWasLoaded' was modified to match the 
> exact ordering of dictionary.dic.
>  
> {*}REPRODUCE{*}:
> ```
> mvn edu.illinois:nondex-maven-plugin:2.1.7-SNAPSHOT:nondex 
> -Dtest=opennlp.tools.dictionary.DictionaryAsSetCaseInsensitiveTest#testEquals
> ```
>  Can I proceed and create PR ?



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

Reply via email to