@Test public void testSortByKeywordLength() { final SolrURIRedirectModel redir = new SolrURIRedirectModel(); final List<Comparator<SolrFacetSearchKeywordRedirectModel>> comparatorList = new ArrayList<Comparator<SolrFacetSearchKeywordRedirectModel>>(); comparatorList.add(new KeywordLengthComparator()); defaultKeywordRedirectSorter.setComparatorList(comparatorList); final List<SolrFacetSearchKeywordRedirectModel> toSort = new ArrayList<SolrFacetSearchKeywordRedirectModel>(); final SolrFacetSearchKeywordRedirectModel val1 = createKeywordRedirect("jean", KeywordRedirectMatchType.CONTAINS, redir); final SolrFacetSearchKeywordRedirectModel val2 = createKeywordRedirect("jeans", KeywordRedirectMatchType.CONTAINS, redir); final SolrFacetSearchKeywordRedirectModel val3 = createKeywordRedirect("je", KeywordRedirectMatchType.EXACT, redir); final SolrFacetSearchKeywordRedirectModel val4 = createKeywordRedirect("jea", KeywordRedirectMatchType.EXACT, redir); toSort.add(val1); toSort.add(val2); toSort.add(val3); toSort.add(val4); Assertions.assertThat(toSort).containsSequence(val1, val2, val3, val4); final List<SolrFacetSearchKeywordRedirectModel> result = defaultKeywordRedirectSorter.sort(toSort); Assertions.assertThat(result).containsSequence(val4, val3, val2, val1); }
/** Test method for {@link DefaultKeywordRedirectSorter#sort(List)}. */ @Test public void testSort() { final SolrURIRedirectModel redir = new SolrURIRedirectModel(); final List<SolrFacetSearchKeywordRedirectModel> toSort = new ArrayList<SolrFacetSearchKeywordRedirectModel>(); final SolrFacetSearchKeywordRedirectModel val1 = createKeywordRedirect("Ala", KeywordRedirectMatchType.CONTAINS, redir); final SolrFacetSearchKeywordRedirectModel val2 = createKeywordRedirect("Ala", KeywordRedirectMatchType.ENDS_WITH, redir); final SolrFacetSearchKeywordRedirectModel val3 = createKeywordRedirect("Ala", KeywordRedirectMatchType.STARTS_WITH, redir); final SolrFacetSearchKeywordRedirectModel val4 = createKeywordRedirect("Ala", KeywordRedirectMatchType.REGEX, redir); final SolrFacetSearchKeywordRedirectModel val5 = createKeywordRedirect("Ala", KeywordRedirectMatchType.EXACT, redir); toSort.add(val1); toSort.add(val2); toSort.add(val3); toSort.add(val4); toSort.add(val5); Assertions.assertThat(toSort).containsSequence(val1, val2, val3, val4, val5); final List<SolrFacetSearchKeywordRedirectModel> result = defaultKeywordRedirectSorter.sort(toSort); Assertions.assertThat(result).containsSequence(val5, val4, val3, val2, val1); }
@Before public void setUp() throws Exception { final List<KeywordRedirectMatchType> sortOrder = new ArrayList<KeywordRedirectMatchType>(); sortOrder.add(KeywordRedirectMatchType.EXACT); sortOrder.add(KeywordRedirectMatchType.REGEX); sortOrder.add(KeywordRedirectMatchType.STARTS_WITH); sortOrder.add(KeywordRedirectMatchType.ENDS_WITH); // sortOrder.add(KeywordRedirectMatchType.CONTAINS); to test if non complete list is also good // handled defaultKeywordRedirectSorter.setSortOrder(sortOrder); }