use of alien4cloud.suggestions.services.SuggestionService in project alien4cloud by alien4cloud.
the class SuggestionServicesTest method testSuggestionMatching.
@Test
public void testSuggestionMatching() {
SuggestionService suggestionService = new SuggestionService();
IGenericSearchDAO alienDAO = Mockito.mock(IGenericSearchDAO.class);
suggestionService.setAlienDAO(alienDAO);
SuggestionEntry suggestionEntry = new SuggestionEntry();
suggestionEntry.setSuggestions(new HashSet<>(Arrays.asList("ubuntu", "windows xp", "kubuntu", "windows 2000", "gentoo", "mint", "debian")));
Mockito.when(alienDAO.findById(AbstractSuggestionEntry.class, "")).thenReturn(suggestionEntry);
String[] matches = suggestionService.getJaroWinklerMatchedSuggestions("", "u", Integer.MAX_VALUE);
Assert.assertEquals(2, matches.length);
Assert.assertEquals("ubuntu", matches[0]);
Assert.assertEquals("kubuntu", matches[1]);
log.info("Matches for 'u': {}", Arrays.asList(matches));
matches = suggestionService.getJaroWinklerMatchedSuggestions("", "ub", 2);
Assert.assertEquals(2, matches.length);
Assert.assertEquals("ubuntu", matches[0]);
Assert.assertEquals("kubuntu", matches[1]);
log.info("Matches for 'ub': {}", Arrays.asList(matches));
matches = suggestionService.getJaroWinklerMatchedSuggestions("", "wtn d ow spp", Integer.MAX_VALUE);
log.info("Matches for 'wtn d ow spp': {}", Arrays.asList(matches));
Assert.assertEquals("windows xp", matches[0]);
matches = suggestionService.getJaroWinklerMatchedSuggestions("", "guntoo", Integer.MAX_VALUE);
log.info("Matches for 'guntoo': {}", Arrays.asList(matches));
Assert.assertEquals("gentoo", matches[0]);
matches = suggestionService.getJaroWinklerMatchedSuggestions("", "mt", Integer.MAX_VALUE);
log.info("Matches for 'mt': {}", Arrays.asList(matches));
Assert.assertEquals("mint", matches[0]);
matches = suggestionService.getJaroWinklerMatchedSuggestions("", "Windows", Integer.MAX_VALUE);
log.info("Matches for 'Windows': {}", Arrays.asList(matches));
Assert.assertEquals(7, matches.length);
Assert.assertEquals("windows xp", matches[0]);
Assert.assertEquals("windows 2000", matches[1]);
matches = suggestionService.getJaroWinklerMatchedSuggestions("", "", 5);
log.info("Matches for blank: {}", Arrays.asList(matches));
Assert.assertEquals(5, matches.length);
}
Aggregations