feat: AggregatedObservableListTest
This commit is contained in:
@@ -187,6 +187,10 @@ public class AggregatedObservableList<T> {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String dump() {
|
||||||
|
return dump(x -> x);
|
||||||
|
}
|
||||||
|
|
||||||
public String dump(Function<T, Object> function) {
|
public String dump(Function<T, Object> function) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("[");
|
sb.append("[");
|
||||||
|
|||||||
@@ -0,0 +1,94 @@
|
|||||||
|
package org.jackhuang.hmcl.util;
|
||||||
|
|
||||||
|
import javafx.collections.FXCollections;
|
||||||
|
import javafx.collections.ObservableList;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Testing the AggregatedObservableList
|
||||||
|
*/
|
||||||
|
public class AggregatedObservableListTest {
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testInteger() {
|
||||||
|
final AggregatedObservableList<Integer> aggregatedWrapper = new AggregatedObservableList<>();
|
||||||
|
final ObservableList<Integer> aggregatedList = aggregatedWrapper.getAggregatedList();
|
||||||
|
|
||||||
|
final ObservableList<Integer> list1 = FXCollections.observableArrayList();
|
||||||
|
final ObservableList<Integer> list2 = FXCollections.observableArrayList();
|
||||||
|
final ObservableList<Integer> list3 = FXCollections.observableArrayList();
|
||||||
|
|
||||||
|
list1.addAll(1, 2, 3, 4, 5);
|
||||||
|
list2.addAll(10, 11, 12, 13, 14, 15);
|
||||||
|
list3.addAll(100, 110, 120, 130, 140, 150);
|
||||||
|
|
||||||
|
// adding list 1 to aggregate
|
||||||
|
aggregatedWrapper.appendList(list1);
|
||||||
|
assertEquals("[1,2,3,4,5]", aggregatedWrapper.dump());
|
||||||
|
|
||||||
|
// removing elems from list1
|
||||||
|
list1.remove(2, 4);
|
||||||
|
assertEquals("[1,2,5]", aggregatedWrapper.dump());
|
||||||
|
|
||||||
|
// adding second List
|
||||||
|
aggregatedWrapper.appendList(list2);
|
||||||
|
assertEquals("[1,2,5,10,11,12,13,14,15]", aggregatedWrapper.dump());
|
||||||
|
|
||||||
|
// removing elems from second List
|
||||||
|
list2.remove(1, 3);
|
||||||
|
assertEquals("[1,2,5,10,13,14,15]", aggregatedWrapper.dump());
|
||||||
|
|
||||||
|
// replacing element in first list
|
||||||
|
list1.set(1, 3);
|
||||||
|
assertEquals("[1,3,5,10,13,14,15]", aggregatedWrapper.dump());
|
||||||
|
|
||||||
|
// adding third List
|
||||||
|
aggregatedWrapper.appendList(list3);
|
||||||
|
assertEquals("[1,3,5,10,13,14,15,100,110,120,130,140,150]", aggregatedWrapper.dump());
|
||||||
|
|
||||||
|
// emptying second list
|
||||||
|
list2.clear();
|
||||||
|
assertEquals("[1,3,5,100,110,120,130,140,150]", aggregatedWrapper.dump());
|
||||||
|
|
||||||
|
// adding new elements to second list
|
||||||
|
list2.addAll(203, 202, 201);
|
||||||
|
assertEquals("[1,3,5,203,202,201,100,110,120,130,140,150]", aggregatedWrapper.dump());
|
||||||
|
|
||||||
|
// sorting list2. this results in permutation
|
||||||
|
list2.sort(Integer::compareTo);
|
||||||
|
assertEquals("[1,3,5,201,202,203,100,110,120,130,140,150]", aggregatedWrapper.dump());
|
||||||
|
|
||||||
|
// removing list2 completely
|
||||||
|
aggregatedWrapper.removeList(list2);
|
||||||
|
assertEquals("[1,3,5,100,110,120,130,140,150]", aggregatedWrapper.dump());
|
||||||
|
|
||||||
|
// updating one integer value in list 3
|
||||||
|
list3.set(0, 1);
|
||||||
|
assertEquals("[1,3,5,1,110,120,130,140,150]", aggregatedWrapper.dump());
|
||||||
|
|
||||||
|
// prepending list 2 again
|
||||||
|
aggregatedWrapper.prependList(list2);
|
||||||
|
assertEquals("[201,202,203,1,3,5,1,110,120,130,140,150]", aggregatedWrapper.dump());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSetAll() {
|
||||||
|
final AggregatedObservableList<Integer> aggregatedWrapper = new AggregatedObservableList<>();
|
||||||
|
final ObservableList<Integer> aggregatedList = aggregatedWrapper.getAggregatedList();
|
||||||
|
|
||||||
|
final ObservableList<Integer> a = FXCollections.singletonObservableList(1);
|
||||||
|
final ObservableList<Integer> b = FXCollections.observableArrayList(2, 3, 4);
|
||||||
|
|
||||||
|
aggregatedWrapper.appendList(a);
|
||||||
|
aggregatedWrapper.appendList(b);
|
||||||
|
|
||||||
|
assertEquals("[1,2,3,4]", aggregatedWrapper.dump());
|
||||||
|
|
||||||
|
b.setAll(7, 8, 9);
|
||||||
|
assertEquals("[1,7,8,9]", aggregatedWrapper.dump());
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user