@Test public void testCompareScoreFirstGreater() { SimilarityScore first = new SimilarityScore("First", 0.87); SimilarityScore second = new SimilarityScore("Second", 0.54); AscendingSimilarityScoreComparator c = new AscendingSimilarityScoreComparator(); assertTrue(c.compare(first, second)>0); assertTrue(c.compare(second, first)<0); }
@Test public void testFindTop_Ascending() { SimilarityStrategy strategy = mock(SimilarityStrategy.class); String target = "McDonalds"; String c1 = "MacMahons"; String c2 = "McPherson"; String c3 = "McDonalds"; SimilarityScore expected = new SimilarityScore(c2, 0.74); when(strategy.score(c1, target)).thenReturn(0.90); when(strategy.score(c2, target)).thenReturn(0.74); when(strategy.score(c3, target)).thenReturn(1.000); StringSimilarityService service = new StringSimilarityServiceImpl(strategy); List<String> features = new ArrayList<String>(); features.add(c1); features.add(c2); features.add(c3); AscendingSimilarityScoreComparator comparator = new AscendingSimilarityScoreComparator(); SimilarityScore top= service.findTop(features,target, comparator); verify(strategy).score(c1, target); verify(strategy).score(c2, target); verify(strategy).score(c3, target); assertEquals(expected, top); }
@Test public void testCompareScoreSecondGreater() { SimilarityScore first = new SimilarityScore("First", 0.37); SimilarityScore second = new SimilarityScore("Second", 0.65); AscendingSimilarityScoreComparator c = new AscendingSimilarityScoreComparator(); assertTrue(c.compare(first, second)<0); assertTrue(c.compare(second, first)>0); }
@Test public void testCompareScoreEquality() { SimilarityScore first = new SimilarityScore("First", 0.96); SimilarityScore second = new SimilarityScore("Second", 0.96); AscendingSimilarityScoreComparator c = new AscendingSimilarityScoreComparator(); assertEquals(c.compare(first, second), 0); assertEquals(c.compare(second, first), 0); }