public static void deepEquals(@NonNull RevTree expected, @NonNull RevTree actual) { assertEquals(TYPE.TREE, actual.getType()); assertEquals(expected.getId(), expected.getId()); assertEquals(expected.size(), expected.size()); assertEquals(expected.numTrees(), expected.numTrees()); assertEquals(expected.treesSize(), expected.treesSize()); assertEquals(expected.featuresSize(), expected.featuresSize()); assertEquals(expected.bucketsSize(), expected.bucketsSize()); deepEquals(expected.trees(), actual.trees()); deepEquals(expected.features(), actual.features()); deepEquals(expected.getBuckets(), actual.getBuckets()); for (Bucket b : expected.getBuckets()) { deepEquals(b, actual.getBucket(b.getIndex()).orElse(null)); } }
Bucket subtreeBucket = parent.getBucket(bucket.intValue()).orElse(null); if (subtreeBucket == null) { return Optional.absent();
for (Quadrant q : Quadrant.VALUES) { java.util.Optional<Bucket> treeBucket = originalTree .getBucket(q.getBucketNumber()); if (treeBucket.isPresent()) { Envelope bucketBounds = treeBucket.get().bounds().orNull();
public @Test void testNullGeometriesGoToRootUnpromotablesTree() { int size = 128; List<Node> nodes = createPointNodes(nodeRange(size)); RevTreeBuilder builder = createQuadTree(maxBounds, nodes); Node nullEnvNode = createNode(10000, null); builder.put(nullEnvNode); RevTree tree = builder.build(); assertNotEquals(0, tree.bucketsSize()); List<Node> matches = findNode(nullEnvNode.getName(), tree, objectStore); assertEquals(1, matches.size()); Integer unpromotablesBucketIndex = Integer.valueOf(4); assertTrue(tree.getBucket(unpromotablesBucketIndex).isPresent()); RevTree unpromotables = objectStore .getTree(tree.getBucket(unpromotablesBucketIndex).get().getObjectId()); matches = findNode(nullEnvNode.getName(), unpromotables, objectStore); assertEquals(1, matches.size()); }