/* * Carrot2 project. * * Copyright (C) 2002-2016, Dawid Weiss, Stanisław Osiński. * All rights reserved. * * Refer to the full license file "carrot2.LICENSE" * in the root folder of the repository checkout or at: * http://www.carrot2.org/carrot2.LICENSE */ package org.carrot2.source; import org.carrot2.source.MultipageSearchEngine.SearchRange; import org.carrot2.util.tests.CarrotTestCase; import org.junit.Test; import static org.junit.Assert.*; public class SearchRangeTest extends CarrotTestCase { @Test public void testEmptyRange() { SearchRange [] range = SearchRange.getSearchRanges(100, 0, 1000, 50, false); assertEquals(0, range.length); } @Test public void testMoreThanMaxResultsRequested() { SearchRange [] range = SearchRange.getSearchRanges(1000, 10, 1000, 50, false); assertEquals(0, range.length); } @Test public void testGetTwoRangesFull() { SearchRange [] range = SearchRange.getSearchRanges(0, 100, 1000, 50, false); assertEquals(2, range.length); assertEquals(0, range[0].start); assertEquals(50, range[0].results); assertEquals(50, range[1].start); assertEquals(50, range[1].results); } @Test public void testGetTwoRangesUnderfull() { SearchRange [] range = SearchRange.getSearchRanges(0, 60, 1000, 50, false); assertEquals(2, range.length); assertEquals(0, range[0].start); assertEquals(50, range[0].results); assertEquals(50, range[1].start); assertEquals(10, range[1].results); } @Test public void testGetOneRangeStartAtNonZero() { SearchRange [] range = SearchRange.getSearchRanges(10, 20, 1000, 50, false); assertEquals(1, range.length); assertEquals(10, range[0].start); assertEquals(20, range[0].results); } @Test public void testGetTwoRangesStartAtNonZero() { SearchRange [] range = SearchRange.getSearchRanges(10, 60, 1000, 50, false); assertEquals(2, range.length); assertEquals(10, range[0].start); assertEquals(50, range[0].results); assertEquals(60, range[1].start); assertEquals(10, range[1].results); } @Test public void testPageModeEmptyRange() { SearchRange [] range = SearchRange.getSearchRanges(1, 0, 1000, 50, true); assertEquals(0, range.length); } @Test public void testPageModeMoreThanMaxResultsRequested() { SearchRange [] range = SearchRange.getSearchRanges(10, 10, 1000, 100, true); assertEquals(0, range.length); } @Test public void testPageModeGetTwoRangesFull() { SearchRange [] range = SearchRange.getSearchRanges(0, 100, 1000, 50, true); assertEquals(2, range.length); assertEquals(0, range[0].start); assertEquals(50, range[0].results); assertEquals(1, range[1].start); assertEquals(50, range[1].results); } @Test public void testPageModeGetTwoRangesUnderfull() { SearchRange [] range = SearchRange.getSearchRanges(0, 60, 1000, 50, true); assertEquals(2, range.length); assertEquals(0, range[0].start); assertEquals(50, range[0].results); assertEquals(1, range[1].start); assertEquals(10, range[1].results); } @Test public void testPageModeGetOneRangeStartAtNonZero() { SearchRange [] range = SearchRange.getSearchRanges(1, 20, 1000, 50, true); assertEquals(1, range.length); assertEquals(1, range[0].start); assertEquals(20, range[0].results); } @Test public void testPageModeGetTwoRangesStartAtNonZero() { SearchRange [] range = SearchRange.getSearchRanges(1, 60, 1000, 50, true); assertEquals(2, range.length); assertEquals(1, range[0].start); assertEquals(50, range[0].results); assertEquals(2, range[1].start); assertEquals(10, range[1].results); } }