[
https://issues.apache.org/jira/browse/OPENNLP-1519?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17787868#comment-17787868
]
ASF GitHub Bot commented on OPENNLP-1519:
-----------------------------------------
rzo1 commented on PR #556:
URL: https://github.com/apache/opennlp/pull/556#issuecomment-1818404666
I would expect them to fail more frequently, if this is really an issue?
It didn't happen on the daily eval runs and it didn't happen on any of our
GitHub actions builds.
I am also wondering if we could just fix the test (instead of switching the
data structure, which might impact memory consumption/ perf).
> 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)