use of jetbrains.exodus.util.Random in project xodus by JetBrains.
the class Persistent23TreeTest method iterationTest.
@Test
public void iterationTest() {
Random random = new Random(8234890);
Persistent23Tree.MutableTree<Integer> tree = new Persistent23Tree<Integer>().beginWrite();
int[] p = genPermutation(random);
TreeSet<Integer> added = new TreeSet<>();
for (int i = 0; i < ENTRIES_TO_ADD; i++) {
int size = tree.size();
Assert.assertEquals(i, size);
if ((size & 1023) == 0 || size < 100) {
Iterator<Integer> iterator = added.iterator();
for (Integer key : tree) {
Assert.assertTrue(iterator.hasNext());
Assert.assertEquals(iterator.next(), key);
}
Assert.assertFalse(iterator.hasNext());
iterator = added.iterator();
Iterator<Integer> treeItr = tree.iterator();
for (int j = 0; j < size; j++) {
Integer key = treeItr.next();
Assert.assertTrue(iterator.hasNext());
Assert.assertEquals(iterator.next(), key);
}
Assert.assertFalse(iterator.hasNext());
try {
treeItr.next();
Assert.fail();
} catch (NoSuchElementException e) {
}
Assert.assertFalse(treeItr.hasNext());
}
tree.add(p[i]);
added.add(p[i]);
}
}
use of jetbrains.exodus.util.Random in project xodus by JetBrains.
the class Persistent23TreeTest method mutableTreeRandomInsertDeleteTest.
@Test
public void mutableTreeRandomInsertDeleteTest() {
Random random = new Random(2343489);
Persistent23Tree<Integer> set = new Persistent23Tree<>();
checkInsertRemove(random, set, 100);
checkInsertRemove(random, set, ENTRIES_TO_ADD);
for (int i = 0; i < 100; i++) {
checkInsertRemove(random, set, 100);
}
}
use of jetbrains.exodus.util.Random in project xodus by JetBrains.
the class Persistent23TreeTest method tailReverseIterationTest.
@Test
public void tailReverseIterationTest() {
Random random = new Random(239786);
Persistent23Tree.MutableTree<Integer> tree = new Persistent23Tree<Integer>().beginWrite();
int[] p = genPermutation(random);
TreeSet<Integer> added = new TreeSet<>();
for (int i = 0; i < ENTRIES_TO_ADD; i++) {
int size = tree.size();
Assert.assertEquals(i, size);
if ((size & 1023) == 0 || size < 100) {
if (i > 0) {
checkTailReverseIteration(tree, added, added.first());
checkTailReverseIteration(tree, added, added.first() - 1);
checkTailReverseIteration(tree, added, added.last());
checkTailReverseIteration(tree, added, added.last() + 1);
}
checkTailReverseIteration(tree, added, Integer.MAX_VALUE);
checkTailReverseIteration(tree, added, Integer.MIN_VALUE);
for (int j = 0; j < 10; j++) {
checkTailReverseIteration(tree, added, p[i * j / 10]);
}
}
tree.add(p[i]);
added.add(p[i]);
}
}
use of jetbrains.exodus.util.Random in project xodus by JetBrains.
the class Persistent23TreeTest method testCache.
@Test
public void testCache() {
Random random = new Random(34790);
int[] p = genPermutation(random, BENCHMARK_SIZE);
final Persistent23Tree<Integer> source = new Persistent23Tree<>();
Persistent23Tree.MutableTree<Integer> tree = null;
for (int i = 0; i < p.length; i++) {
if ((i & 15) == 0) {
if (i > 0) {
tree.endWrite();
}
tree = source.beginWrite();
}
tree.add(p[i]);
if (i >= 4048) {
tree.exclude(p[i - 4048]);
}
}
}
use of jetbrains.exodus.util.Random in project xodus by JetBrains.
the class PersistentLinkedHashMapTest method mutableTreeRandomInsertDeleteTest.
@Test
public void mutableTreeRandomInsertDeleteTest() {
Random random = new Random(2343489);
PersistentLinkedHashMap<Integer, String> map = new PersistentLinkedHashMap<>();
checkInsertRemove(random, map, 100);
checkInsertRemove(random, map, ENTRIES_TO_ADD);
for (int i = 0; i < 100; i++) {
checkInsertRemove(random, map, 100);
}
}
Aggregations