package freenet.crypt;
import java.io.IOException;
import freenet.support.io.ArrayBucket;
import freenet.support.io.BucketTools;
import junit.framework.TestCase;
public class AEADBucketTest extends TestCase {
public void testCopyBucketNotDivisibleBy16() throws IOException {
checkCopyBucketNotDivisibleBy16(902);
}
public void checkCopyBucketNotDivisibleBy16(long length) throws IOException {
ArrayBucket underlying = new ArrayBucket();
byte[] key = new byte[16];
AEADCryptBucket encryptedBucket = new AEADCryptBucket(underlying, key);
BucketTools.fill(encryptedBucket, length);
assertEquals(length + AEADCryptBucket.OVERHEAD, underlying.size());
assertEquals(length, encryptedBucket.size());
ArrayBucket copyTo = new ArrayBucket();
BucketTools.copy(encryptedBucket, copyTo);
assertEquals(length, encryptedBucket.size());
assertEquals(length, copyTo.size());
assertTrue(BucketTools.equalBuckets(encryptedBucket, copyTo));
}
}