@Test public void testEmptyTree() { RevTree emptyTree = RevTree.EMPTY; assertEquals(TYPE.TREE, emptyTree.getType()); assertEquals(RevTree.EMPTY_TREE_ID, emptyTree.getId()); assertEquals(0, emptyTree.trees().size()); assertEquals(0, emptyTree.features().size()); assertEquals(0, emptyTree.bucketsSize()); assertEquals(0, emptyTree.size()); assertEquals(0, emptyTree.numTrees()); assertTrue(emptyTree.isEmpty()); assertTrue(emptyTree.toString().contains("EMPTY TREE")); assertEquals(emptyTree, emptyTree); assertFalse(emptyTree.equals(RevTree.EMPTY_TREE_ID)); }
assertEquals(TYPE.TREE, decoded.getType()); assertEquals(orig.size(), decoded.size()); assertEquals(orig.numTrees(), decoded.numTrees());
private RevTree encodeDecode(RevTree orig) throws IOException { ByteArrayOutputStream out = new ByteArrayOutputStream(); RevTreeFormat.encode(orig, new DataOutputStream(out)); final byte[] encoded = out.toByteArray(); assertNotNull(encoded); RevTree decoded = RevTreeFormat.decode(orig.getId(), encoded); assertEquals(orig, decoded); // equals only checks for objectId assertEquals(TYPE.TREE, decoded.getType()); assertEquals(orig.size(), decoded.size()); assertEquals(orig.numTrees(), decoded.numTrees()); assertEqualsFully(orig.trees(), decoded.trees()); assertEqualsFully(orig.features(), decoded.features()); assertEquals(Lists.newArrayList(orig.getBuckets()), Lists.newArrayList(decoded.getBuckets())); return decoded; }
assertEquals(TYPE.TREE, decoded.getType()); assertEquals(orig.size(), decoded.size()); assertEquals(orig.numTrees(), decoded.numTrees());
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)); } }
private RevTree encodeDecode(RevTree orig) throws IOException { final byte[] encoded = RevTreeFormat.encode(orig); assertNotNull(encoded); RevTree decoded = RevTreeFormat.decode(orig.getId(), encoded); assertEquals(orig, decoded); // equals only checks for objectId assertEquals(TYPE.TREE, decoded.getType()); assertEquals(orig.size(), decoded.size()); assertEquals(orig.numTrees(), decoded.numTrees()); assertEqualsFully(orig.trees(), decoded.trees()); assertEqualsFully(orig.features(), decoded.features()); assertEquals(orig.buckets(), decoded.buckets()); return decoded; }