MCPcopy Index your code
hub / github.com/jankotek/mapdb / mutateSubSet

Method mutateSubSet

src/test/java/org/mapdb/BTreeSet2Test.java:744–774  ·  view source on GitHub ↗
(NavigableSet<Integer> set, int min, int max,
                      BitSet bs)

Source from the content-addressed store, hash-verified

742 }
743
744 void mutateSubSet(NavigableSet<Integer> set, int min, int max,
745 BitSet bs) {
746 int size = set.size();
747 int rangeSize = max - min + 1;
748
749 // Remove a bunch of entries directly
750 for (int i = 0, n = rangeSize / 2; i < n; i++) {
751 remove(set, min - 5 + rnd.nextInt(rangeSize + 10), bs);
752 }
753
754 // Remove a bunch of entries with iterator
755 for (Iterator<Integer> it = set.iterator(); it.hasNext(); ) {
756 if (rnd.nextBoolean()) {
757 bs.clear(it.next());
758 it.remove();
759 }
760 }
761
762 // Add entries till we're back to original size
763 while (set.size() < size) {
764 int element = min - 5 + rnd.nextInt(rangeSize + 10);
765 if (element >= min && element<= max) {
766 put(set, element, bs);
767 } else {
768 try {
769 set.add(element);
770 shouldThrow();
771 } catch (IllegalArgumentException success) {}
772 }
773 }
774 }
775
776 void put(NavigableSet<Integer> set, int element, BitSet bs) {
777 if (set.add(element))

Callers 1

bashSubSetMethod · 0.95

Calls 8

removeMethod · 0.95
putMethod · 0.95
nextMethod · 0.80
sizeMethod · 0.45
iteratorMethod · 0.45
clearMethod · 0.45
addMethod · 0.45
shouldThrowMethod · 0.45

Tested by

no test coverage detected