View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *      https://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.apache.commons.text.similarity;
18  
19  import static org.junit.jupiter.api.Assertions.assertFalse;
20  import static org.junit.jupiter.api.Assertions.assertTrue;
21  
22  import org.junit.jupiter.api.Test;
23  
24  class LevenshteinResultsTest {
25  
26      @Test
27      void testEqualsDifferenceInSubstitutionCount() {
28          final Integer integer = 1662;
29          final LevenshteinResults levenshteinResults = new LevenshteinResults(integer, integer, integer, integer);
30          final LevenshteinResults levenshteinResultsTwo = new LevenshteinResults(integer, integer, integer, null);
31          assertFalse(levenshteinResults.equals(levenshteinResultsTwo));
32      }
33  
34      @Test
35      void testEqualsDifferentDistance() {
36          final Integer integerOne = 1662;
37          final Integer integerTwo = 1164;
38          final LevenshteinResults levenshteinResults = new LevenshteinResults(integerOne, integerOne, integerOne, integerOne);
39          final LevenshteinResults levenshteinResultsTwo = new LevenshteinResults(integerTwo, integerOne, integerOne, integerOne);
40          assertFalse(levenshteinResults.equals(levenshteinResultsTwo));
41      }
42  
43      @Test
44      void testEqualsReturningFalse() {
45          final Integer integerOne = 1662;
46          final Integer integerTwo = 1164;
47          final LevenshteinResults levenshteinResults = new LevenshteinResults(integerOne, integerOne, integerOne, integerOne);
48          final LevenshteinResults levenshteinResultsTwo = new LevenshteinResults(integerOne, integerOne, integerTwo, integerTwo);
49          assertFalse(levenshteinResults.equals(levenshteinResultsTwo));
50      }
51  
52      @Test
53      void testEqualsSameObject() {
54          final Integer integer = 1662;
55          final LevenshteinResults levenshteinResults = new LevenshteinResults(integer, integer, integer, null);
56          assertTrue(levenshteinResults.equals(levenshteinResults));
57      }
58  
59      @Test
60      void testEqualsWithDifferentObject() {
61          final Integer integer = -647;
62          final LevenshteinResults levenshteinResults = new LevenshteinResults(integer, null, null, integer);
63          assertFalse(levenshteinResults.equals("Test"));
64      }
65  
66      @Test
67      void testEqualsWithNonNull() {
68          final Integer integer = 1;
69          final LevenshteinResults levenshteinResults = new LevenshteinResults(null, integer, integer, null);
70          final LevenshteinResults levenshteinResultsTwo = new LevenshteinResults(null, null, null, null);
71          assertFalse(levenshteinResults.equals(levenshteinResultsTwo));
72      }
73  
74      @Test
75      void testEqualsWithNull() {
76          final Integer integer = -647;
77          final LevenshteinResults levenshteinResults = new LevenshteinResults(integer, null, null, integer);
78          assertFalse(levenshteinResults.equals(null));
79      }
80  
81  }