mirror of
https://github.com/ProjectSWGCore/Holocore.git
synced 2026-07-28 23:15:47 -04:00
52 lines
1.7 KiB
Java
52 lines
1.7 KiB
Java
package network.encryption;
|
|
|
|
import org.junit.Assert;
|
|
import org.junit.Test;
|
|
import org.junit.runner.RunWith;
|
|
import org.junit.runners.JUnit4;
|
|
|
|
@RunWith(JUnit4.class)
|
|
public class TestCompression {
|
|
|
|
@Test
|
|
public void testSmall() {
|
|
byte [] buffer = new byte[Compression.getMaxCompressedLength(101)];
|
|
byte [] data = new byte[101];
|
|
for (int i = 0; i < data.length; i++)
|
|
data[i] = (byte) (i % 100);
|
|
int len = Compression.compress(data, buffer);
|
|
byte [] compressed = new byte[len];
|
|
System.arraycopy(buffer, 0, compressed, 0, len);
|
|
byte [] decompressed = Compression.decompress(compressed);
|
|
Assert.assertArrayEquals(data, decompressed);
|
|
}
|
|
|
|
@Test
|
|
public void testMedium() {
|
|
byte [] buffer = new byte[Compression.getMaxCompressedLength(256)];
|
|
byte [] data = new byte[256];
|
|
for (int i = 0; i < data.length; i++)
|
|
data[i] = (byte) (i % 100);
|
|
int len = Compression.compress(data, buffer);
|
|
byte [] compressed = new byte[len];
|
|
System.arraycopy(buffer, 0, compressed, 0, len);
|
|
byte [] decompressed = Compression.decompress(compressed);
|
|
Assert.assertArrayEquals(data, decompressed);
|
|
}
|
|
|
|
@Test
|
|
public void testLarge() {
|
|
byte [] buffer = new byte[Compression.getMaxCompressedLength(1024)];
|
|
byte [] data = new byte[1024];
|
|
for (int i = 0; i < data.length; i++)
|
|
data[i] = (byte) (i % 100);
|
|
int len = Compression.compress(data, buffer);
|
|
byte [] compressed = new byte[len];
|
|
System.arraycopy(buffer, 0, compressed, 0, len);
|
|
Assert.assertTrue("Compressed should be less than actual. Compressed: "+compressed.length+" Data: "+data.length, compressed.length < data.length);
|
|
byte [] decompressed = Compression.decompress(compressed);
|
|
Assert.assertArrayEquals(data, decompressed);
|
|
}
|
|
|
|
}
|