import org.junit.Test;
import java.util.Arrays;
import java.util.List;
import static org.junit.Assert.*;
public class MostVisitedPagesTest {
private List<Integer> expected;
private List<Integer> pages;
private int k;
@Test
public void findMostVisited1() throws Exception {
expected = Arrays.asList(
4
);
pages = Arrays.asList(
2,3,6,4,2,
6,4,3,7,8,
5,4,3,2,1,
5,6,4,3,2,
3,4,7,6,4
);
k = 1;
test(expected, pages, k);
}
@Test
public void findMostVisited2() throws Exception {
expected = Arrays.asList(
2,3,4
);
pages = Arrays.asList(
2,3,6,4,2,
6,4,3,7,8,
5,4,3,2,1,
5,6,4,3,2,
3,4,7,6,2
);
k = 3;
test(expected, pages, k);
}
@Test
public void findMostVisited3() throws Exception {
expected = Arrays.asList(
2,3,4,6,7
);
pages = Arrays.asList(
2,3,6,4,2,
6,4,3,7,8,
5,4,3,2,1,
5,6,4,3,2,
3,4,7,6,2
);
k = 5;
test(expected, pages, k);
}
private void test(List<Integer> expected, List<Integer> pages, int k) {
AssertUtils.assertSameContentsInt(expected, MostVisitedPages.findMostVisited(pages, k));
}
}