package peergos.server.tests; import org.junit.*; import peergos.shared.merklebtree.*; import java.io.*; import java.util.*; public class MerkleNodeSerialization { @Test public void emptyNode() throws IOException { MerkleNode original = new MerkleNode(new byte[0], Collections.emptyList()); testMerkleNode(original); } @Test public void nonEmpty() throws IOException { byte[] data = new byte[100]; new Random(1).nextBytes(data); MerkleNode original = new MerkleNode(data, Collections.emptyList()); testMerkleNode(original); } private void testMerkleNode(MerkleNode original) throws IOException { byte[] cbor = original.serialize(); MerkleNode deserialized = MerkleNode.deserialize(cbor); boolean equal = deserialized.equals(original); byte[] cbor2 = deserialized.serialize(); boolean sameCbor = Arrays.equals(cbor, cbor2); Assert.assertTrue("Same deserialization", equal); Assert.assertTrue("Same serialization", sameCbor); } }