|
@@ -450,17 +450,16 @@ public class SetTester<T> {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- @Ignore
|
|
|
|
|
public static <V> void assertTail(TCollection<V> generator, SortedSet<V> target, V[] content) {
|
|
public static <V> void assertTail(TCollection<V> generator, SortedSet<V> target, V[] content) {
|
|
|
assertTail(true, generator, target, content);
|
|
assertTail(true, generator, target, content);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
private static <V> void assertTail(boolean nested, TCollection<V> generator, SortedSet<V> target, V[] content) {
|
|
private static <V> void assertTail(boolean nested, TCollection<V> generator, SortedSet<V> target, V[] content) {
|
|
|
int n = content.length;
|
|
int n = content.length;
|
|
|
assertEquals(n, target.tailSet(generator.item(0).value()).size());
|
|
assertEquals(n, target.tailSet(generator.item(0).value()).size());
|
|
|
assertEquals(0, target.tailSet(generator.item(1000).value()).size());
|
|
assertEquals(0, target.tailSet(generator.item(1000).value()).size());
|
|
|
assertRange(target, content);
|
|
assertRange(target, content);
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
for(int i=0; i<n; i++) {
|
|
for(int i=0; i<n; i++) {
|
|
|
V entry = content[i];
|
|
V entry = content[i];
|
|
|
V[] exp = ArrayUtils.tail(content, entry, generator.comparator());
|
|
V[] exp = ArrayUtils.tail(content, entry, generator.comparator());
|
|
@@ -473,16 +472,15 @@ public class SetTester<T> {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- @Ignore
|
|
|
|
|
|
|
+
|
|
|
public static <V> void assertSub(TCollection<V> generator, SortedSet<V> target, V[] content) {
|
|
public static <V> void assertSub(TCollection<V> generator, SortedSet<V> target, V[] content) {
|
|
|
checkSub(true, generator, target, content);
|
|
checkSub(true, generator, target, content);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
private static <V> void checkSub(boolean nested, TCollection<V> generator, SortedSet<V> target, V[] content) {
|
|
private static <V> void checkSub(boolean nested, TCollection<V> generator, SortedSet<V> target, V[] content) {
|
|
|
assertSub(nested, generator, target, 3, 1000, content);
|
|
assertSub(nested, generator, target, 3, 1000, content);
|
|
|
assertSub(nested, generator, target, 5, 1000, content);
|
|
assertSub(nested, generator, target, 5, 1000, content);
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
assertSub(nested, generator, target, 3, 7, content);
|
|
assertSub(nested, generator, target, 3, 7, content);
|
|
|
assertSub(nested, generator, target, 3, 6, content);
|
|
assertSub(nested, generator, target, 3, 6, content);
|
|
|
assertSub(nested, generator, target, 4, 6, content);
|
|
assertSub(nested, generator, target, 4, 6, content);
|
|
@@ -490,12 +488,12 @@ public class SetTester<T> {
|
|
|
|
|
|
|
|
assertSub(nested, generator, target, 6, 7, content);
|
|
assertSub(nested, generator, target, 6, 7, content);
|
|
|
assertSub(nested, generator, target, 6, 6, content);
|
|
assertSub(nested, generator, target, 6, 6, content);
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
assertSub(nested, generator, target, 0, 3, content);
|
|
assertSub(nested, generator, target, 0, 3, content);
|
|
|
assertSub(nested, generator, target, 0, 5, content);
|
|
assertSub(nested, generator, target, 0, 5, content);
|
|
|
assertSub(nested, generator, target, 0, 1000, content);
|
|
assertSub(nested, generator, target, 0, 1000, content);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
private static <V> void assertSub(boolean nested, TCollection<V> generator, SortedSet<V> target, int ibegin, int iend, V[] content) {
|
|
private static <V> void assertSub(boolean nested, TCollection<V> generator, SortedSet<V> target, int ibegin, int iend, V[] content) {
|
|
|
V begin = generator.item(ibegin).value();
|
|
V begin = generator.item(ibegin).value();
|
|
|
V end = generator.item(iend).value();
|
|
V end = generator.item(iend).value();
|
|
@@ -503,15 +501,14 @@ public class SetTester<T> {
|
|
|
SortedSet<V> map = target.subSet(begin, end);
|
|
SortedSet<V> map = target.subSet(begin, end);
|
|
|
assertEquals(exp.length, map.size());
|
|
assertEquals(exp.length, map.size());
|
|
|
assertRange(map, exp);
|
|
assertRange(map, exp);
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
if(nested) {
|
|
if(nested) {
|
|
|
assertHead(false, generator, map, exp);
|
|
assertHead(false, generator, map, exp);
|
|
|
assertTail(false, generator, map, exp);
|
|
assertTail(false, generator, map, exp);
|
|
|
checkSub(false, generator, map, exp);
|
|
checkSub(false, generator, map, exp);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- @Ignore
|
|
|
|
|
|
|
+
|
|
|
public static <V> void assertRange(SortedSet<V> target, V[] content) {
|
|
public static <V> void assertRange(SortedSet<V> target, V[] content) {
|
|
|
if(content.length > 0) {
|
|
if(content.length > 0) {
|
|
|
assertEquals(content[0], target.first());
|
|
assertEquals(content[0], target.first());
|
|
@@ -521,29 +518,29 @@ public class SetTester<T> {
|
|
|
assertThrows(NoSuchElementException.class, ()->target.last());
|
|
assertThrows(NoSuchElementException.class, ()->target.last());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
private void assertRemove(Set<T> target, TItem<T> item) {
|
|
private void assertRemove(Set<T> target, TItem<T> item) {
|
|
|
int size = target.size();
|
|
int size = target.size();
|
|
|
assertTrue(target.remove(item.value()));
|
|
assertTrue(target.remove(item.value()));
|
|
|
assertEquals(size-1, target.size());
|
|
assertEquals(size-1, target.size());
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
private void assertNotRemove(Set<T> target, TItem<T> item) {
|
|
private void assertNotRemove(Set<T> target, TItem<T> item) {
|
|
|
int size = target.size();
|
|
int size = target.size();
|
|
|
assertFalse(target.remove(item.value()));
|
|
assertFalse(target.remove(item.value()));
|
|
|
assertEquals(size, target.size());
|
|
assertEquals(size, target.size());
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
private void assertContains(Set<T> target, TItem<T> item) {
|
|
private void assertContains(Set<T> target, TItem<T> item) {
|
|
|
assertTrue(target.contains(item.value()));
|
|
assertTrue(target.contains(item.value()));
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
private void assertNotContains(Set<T> target, TItem<T> item) {
|
|
private void assertNotContains(Set<T> target, TItem<T> item) {
|
|
|
assertFalse(target.contains(item.value()));
|
|
assertFalse(target.contains(item.value()));
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
private static <Q> void assertContentEquals(Collection<Q> a, Collection<Q> b) {
|
|
private static <Q> void assertContentEquals(Collection<Q> a, Collection<Q> b) {
|
|
|
assertTrue("assertContentEquals", a.containsAll(b) && b.containsAll(a));
|
|
assertTrue("assertContentEquals", a.containsAll(b) && b.containsAll(a));
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
}
|
|
}
|