[ 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)