package nebula.data;
import junit.framework.TestCase;
import com.google.common.base.Function;
public class SmartListImpTest extends TestCase {
SmartList<String,Person> list = null;
String name = "test";
class Person implements Timable {
String name;
int age;
int height;
@Override
public long getLastModified() {
return 0;
}
}
Person p = null;
protected void setUp() throws Exception {
list = new SmartList<String,Person>(new Function<Person, String>() {
@Override
public String apply(Person data) {
return data.name;
}
});
p = new Person();
p.name = "wangshilian";
p.age = 10;
}
protected void tearDown() throws Exception {
super.tearDown();
}
public final void testClear() {
list.add(p);
assertEquals(1, list.size());
list.clear();
assertEquals(0, list.size());
}
public final void testGetString() {
assertEquals(0, list.size());
list.add(p);
assertEquals(1, list.size());
Person w = list.get("wangshilian");
assertEquals(p.name, w.name);
}
public final void testAddE() {
assertEquals(0, list.size());
list.add(p);
assertEquals(1, list.size());
}
public final void testRemoveInt() {
assertEquals(0, list.size());
list.add(p);
assertEquals(1, list.size());
list.remove(0);
assertEquals(0, list.size());
}
public final void testQuery() {
assertEquals(0, list.size());
list.add(p);
p = new Person();
p.name = "wang12";
p.age = 10;
list.add(p);
p = new Person();
p.name = "wang13";
p.age = 12;
list.add(p);
p = new Person();
p.name = "wang14";
p.age = 12;
list.add(p);
p = new Person();
p.name = "wang15";
p.age = 13;
list.add(p);
assertEquals(5, list.size());
// Filter<Person> result = list.liveFilter(new Predicate<Person>() {
// @Override
// public boolean apply(Person v) {
// return v.age == 12;
// }
// });
// assertEquals(2, result.get().size());
// list.remove(1);
// list.remove(0);
//
// assertEquals(2, result.get().size());
//
// assertEquals(3, list.size());
}
public final void testSave() {
p.age = 1000;
assertEquals(0, list.size());
list.add(p);
assertEquals(1, list.size());
Person w = list.get("wangshilian");
assertEquals(1000, w.age);
p.age = 4321;
list.add(p);
w = list.get("wangshilian");
assertEquals(4321, w.age);
}
}