/** * Calculates the similarity score of a single feature. * @param feature The feature string to compare. * @param target The target string to compare against the feature. * @return The similarity score between the feature and target. */ public double score(String feature, String target) { return strategy.score(feature, target); }
/** * Calculates the similarity score of a single feature. * @param The feature string to compare. * @param The target string to compare against the feature. * @return The similarity score between the feature and target. */ public double score(String feature, String target) { return strategy.score(feature, target); }
/** * Calculates the similarity score of a single feature. * @param feature The feature string to compare. * @param target The target string to compare against the feature. * @return The similarity score between the feature and target. */ public double score(String feature, String target) { return strategy.score(feature, target); }
/** * Calculates the similarity score of a single feature. * @param feature The feature string to compare. * @param target The target string to compare against the feature. * @return The similarity score between the feature and target. */ public double score(String feature, String target) { return strategy.score(feature, target); }
/** * Calculates all similarity scores for a given set of features. * @param features The list of features. * @param target The target string to compare against the features. * @return A list of similarity scores. */ public List<SimilarityScore> scoreAll(List<String> features, String target) { ArrayList<SimilarityScore> scores = new ArrayList<SimilarityScore>(); for(String feature: features) { double score = strategy.score(feature, target); scores.add(new SimilarityScore(feature, score)); } return scores; }
@Test public void testAbsoluteDissimilarity() { SimilarityStrategy s = new JaroStrategy(); String first = "Mississippi"; String second = "Oklahoma"; double expected = 0.000; double delta = 0.000; double actual = s.score(first, second); assertEquals(expected, actual, delta); } }
@Test public void testAbsoluteDissimilarity() { SimilarityStrategy s = new DiceCoefficientStrategy(); String first = "Mississippi"; String second = "Oklahoma"; double expected = 0.000; double delta = 0.000; double actual = s.score(first, second); assertEquals(expected, actual, delta); }
@Test public void testSoundAlike() { SimilarityStrategy s = new JaroWinklerStrategy(); String first = "Dwayne"; String second = "Duane"; double expected = 0.840; double delta = 0.001; double actual = s.score(first, second); assertEquals(expected, actual, delta); }
@Test public void testOneTranspostion() { SimilarityStrategy s = new DiceCoefficientStrategy(); String first = "Martha"; String second = "Marhta"; double expected = 0.400; double delta = 0.001; double actual = s.score(first, second); assertEquals(expected, actual, delta); }
@Test public void testAbsoluteSimilarity() { SimilarityStrategy s = new DiceCoefficientStrategy(); String first = "Mississippi"; String second = "Mississippi"; double expected = 1.000; double delta = 0.000; double actual = s.score(first, second); assertEquals(expected, actual, delta); }
@Test public void testOneTranspostion() { SimilarityStrategy s = new JaroWinklerStrategy(); String first = "Martha"; String second = "Marhta"; double expected = 0.961; double delta = 0.001; double actual = s.score(first, second); assertEquals(expected, actual, delta); }
@Test public void testAbsoluteSimilarity() { SimilarityStrategy s = new JaroStrategy(); String first = "Mississippi"; String second = "Mississippi"; double expected = 1.000; double delta = 0.000; double actual = s.score(first, second); assertEquals(expected, actual, delta); }
@Test public void testMisspelledSoundAlike() { SimilarityStrategy s = new JaroStrategy(); String first = "Dixon"; String second = "Dicksonx"; double expected = 0.767; double delta = 0.001; double actual = s.score(first, second); assertEquals(expected, actual, delta); }
@Test public void testMisspelledSoundAlike() { SimilarityStrategy s = new JaroWinklerStrategy(); String first = "Dixon"; String second = "Dicksonx"; double expected = 0.813; double delta = 0.001; double actual = s.score(first, second); assertEquals(expected, actual, delta); }
@Test public void testSoundAlike() { SimilarityStrategy s = new DiceCoefficientStrategy(); String first = "Dwayne"; String second = "Duane"; double expected = 0.2222; double delta = 0.001; double actual = s.score(first, second); assertEquals(expected, actual, delta); }
@Test public void testOneTranspostion() { SimilarityStrategy s = new JaroStrategy(); String first = "Martha"; String second = "Marhta"; double expected = 0.944; double delta = 0.001; double actual = s.score(first, second); assertEquals(expected, actual, delta); }
@Test public void testSoundAlike() { SimilarityStrategy s = new JaroStrategy(); String first = "Dwayne"; String second = "Duane"; double expected = 0.822; double delta = 0.001; double actual = s.score(first, second); assertEquals(expected, actual, delta); }
@Test public void testAbsoluteSimilarity() { SimilarityStrategy s = new JaroStrategy(); String first = "Mississippi"; String second = "Mississippi"; double expected = 1.000; double delta = 0.000; double actual = s.score(first, second); assertEquals(expected, actual, delta); }
@Test public void testAbsoluteDissimilarity() { SimilarityStrategy s = new JaroStrategy(); String first = "Mississippi"; String second = "Oklahoma"; double expected = 0.000; double delta = 0.000; double actual = s.score(first, second); assertEquals(expected, actual, delta); }
@Test public void testMisspelledSoundAlike() { SimilarityStrategy s = new DiceCoefficientStrategy(); String first = "Dixon"; String second = "Dicksonx"; double expected = 0.363636; double delta = 0.001; double actual = s.score(first, second); assertEquals(expected, actual, delta); }