package com.cwa.ladder.selector; import com.cwa.ladder.Ladder; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.Map; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import org.junit.Test; public class RandomUserSelectorTest { @Test public void select() { Ladder ladder = new Ladder(1); ladder.setUidList(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9)); UserSelector selector = new RandomUserSelector(); // user not in ladder assertThat(selector.select(ladder, 100, 10), is(Collections.EMPTY_MAP)); // user is NO.1 assertThat(selector.select(ladder, 1, 10), is(Collections.EMPTY_MAP)); // not enough users assertThat(selector.select(ladder, 2, 5), is(Collections.singletonMap(1, 1))); Map<Integer, Integer> map = new HashMap<Integer, Integer>(); map.put(1, 1); map.put(2, 2); assertThat(selector.select(ladder, 3, 5), is(map)); // random users assertThat(selector.select(ladder, 9, 5).size(), is(5)); assertThat(selector.select(ladder, 9, 5).containsKey(9), is(false)); } }