package com.cwa.qiji;
import java.util.Arrays;
import java.util.HashSet;
import org.junit.Assert;
import org.junit.Test;
public class ActiveUserStoreTest {
@Test
public void load_noFile() {
ActiveUserCache pool = new ActiveUserCache(1, 2, 2, 10);
ActiveUserStore loader = new FileActiveUserStore("not_existed_file.data");
loader.load(pool);
Assert.assertEquals(0, pool.getRaodomUsers(1, 10).size());
Assert.assertEquals(0, pool.getRaodomUsers(2, 10).size());
}
@Test
public void saveLoad() {
ActiveUserCache pool = new ActiveUserCache(1, 5, 2, 100);
pool.update(101, 1);
pool.update(201, 2);
pool.update(301, 3);
pool.update(302, 3);
ActiveUserStore loader = new FileActiveUserStore("test.data");
loader.save(pool);
ActiveUserCache pool2 = new ActiveUserCache(1, 5, 2, 100);
loader.load(pool2);
Assert.assertEquals(
new HashSet<Integer>(Arrays.asList(101, 201)),
new HashSet<Integer>(pool2.getRaodomUsers(1, 10)));
Assert.assertEquals(
new HashSet<Integer>(Arrays.asList(101, 201)),
new HashSet<Integer>(pool2.getRaodomUsers(2, 10)));
Assert.assertEquals(
new HashSet<Integer>(Arrays.asList(301, 302)),
new HashSet<Integer>(pool2.getRaodomUsers(3, 10)));
}
}