import org.junit.Test; import java.util.List; public class SearchPostingsListTest { private Integer n; @Test public void setJumpOrder1() { n = 5; test(n); } @Test public void setJumpOrder2() { n = 20; test(n); } @Test public void setJumpOrder3() { n = 50; test(n); } private void test(Integer n) { final PostingListNode<Integer> expected = NodeUtil.createPostingList(n); final PostingListNode<Integer> input = NodeUtil.createPostingList(n); List<Integer> shuffle = StreamUtil.shuffle(StreamUtil.sequence(n)); for (int i = 0; i < n; i++) { expected.get(shuffle.get(i)).jump = expected.get(shuffle.get((i + 1) % n)); input.get(shuffle.get(i)).jump = input.get(shuffle.get((i + 1) % n)); expected.get(shuffle.get(i)).data = shuffle.get((i + 1) % n); input.get(i).data = -1; } AssertUtils.assertSameListPosting(expected, input); } }