You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@opennlp.apache.org by "Martin Wiesner (Jira)" <ji...@apache.org> on 2023/02/19 12:46:00 UTC

[jira] [Created] (OPENNLP-1471) Ensure Dictionary#asStringSet() implements hashCode() and equals() correctly

Martin Wiesner created OPENNLP-1471:
---------------------------------------

             Summary: Ensure Dictionary#asStringSet() implements hashCode() and equals() correctly
                 Key: OPENNLP-1471
                 URL: https://issues.apache.org/jira/browse/OPENNLP-1471
             Project: OpenNLP
          Issue Type: Improvement
    Affects Versions: 2.1.0, 2.1.1
            Reporter: Martin Wiesner
            Assignee: Martin Wiesner


The tests (i)  {{DictionaryAsSetCaseInsensitiveTest}} and 
{{(ii) DictionaryAsSetCaseSensitiveTest}} have an open TODO that points to a bug in Dictionary#asStringSet()
 
{quote}// TODO: should it be equal??
Assertions.assertNotSame(setA.hashCode(), setB.hashCode());
{quote}
To cure this, the implementation of Dictionary#asStringSet() needs override hashCode and equals properly.

After fixing the implementation, the following assertion must hold:
{quote}Assertions.assertEquals(setA, setB);

Assertions.assertEquals(setA.hashCode(), setB.hashCode());
{quote}
where setA and setB are obtained via {{Dictionary#asStringSet()}}.



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