package diskCacheV111.util;
import org.junit.Test;
import java.io.IOException;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
public class SerializableUtilsTests {
private static final String EXAMPLE_1_PNFSID =
"aced0005737200196469736b4361636865563131312e7574696c2e506e667"
+ "34964fe7150258b9baecf0200045b00025f617400025b424c00075f646f6d"
+ "61696e7400124c6a6176612f6c616e672f537472696e673b4c00095f69645"
+ "37472696e6771007e00024c00095f746f537472696e6771007e0002787075"
+ "7200025b42acf317f8060854e002000078700000000c000f0000000000000"
+ "0389fc0707400183030304630303030303030303030303030303338394643"
+ "3071007e0006";
private static final String EXAMPLE_2_PNFSID =
"aced0005737200196469736b4361636865563131312e7574696c2e506e667"
+ "34964fe7150258b9baecf0200045b00025f617400025b424c00075f646f6d"
+ "61696e7400124c6a6176612f6c616e672f537472696e673b4c00095f69645"
+ "37472696e6771007e00024c00095f746f537472696e6771007e0002787075"
+ "7200025b42acf317f8060854e002000078700000000c000f0000000000000"
+ "0389fc0740006646f6d61696e740018303030463030303030303030303030"
+ "30303033383946433074001f3030304630303030303030303030303030303"
+ "338394643302e646f6d61696e";
private static final String EXAMPLE_3_PNFSID =
"aced0005737200196469736b4361636865563131312e7574696c2e506e667"
+ "34964fe7150258b9baecf0200045b00025f617400025b424c00075f646f6d"
+ "61696e7400124c6a6176612f6c616e672f537472696e673b4c00095f69645"
+ "37472696e6771007e00024c00095f746f537472696e6771007e0002787075"
+ "7200025b42acf317f8060854e002000078700000001280d1b8b90ced30430"
+ "608c58002811b3285fc707400243830443142384239304345443330343330"
+ "3630384335383030323831314233323835464371007e0006";
@Test
public void testDecodeEncodeExample1() throws IOException {
assertDecodeEncodeEquals( EXAMPLE_1_PNFSID);
}
@Test
public void testDecodeEncodeExample2() throws IOException {
assertDecodeEncodeEquals( EXAMPLE_2_PNFSID);
}
@Test
public void testDecodeEncodeExample3() throws IOException {
assertDecodeEncodeEquals( EXAMPLE_3_PNFSID);
}
@Test
public void testEncodeDecodeExample1() throws IOException {
byte[] rawSimple = SerializableUtils.decode( EXAMPLE_1_PNFSID);
assertEncodeDecodeEquals( rawSimple);
}
@Test
public void testEncodeDecodeExample2() throws IOException {
byte[] rawDomain = SerializableUtils.decode( EXAMPLE_2_PNFSID);
assertEncodeDecodeEquals( rawDomain);
}
@Test
public void testEncodeDecodeExample3() throws IOException {
byte[] rawChimera = SerializableUtils.decode( EXAMPLE_3_PNFSID);
assertEncodeDecodeEquals( rawChimera);
}
private void assertEncodeDecodeEquals( byte[] data) {
String encodedData = SerializableUtils.encode( data);
byte[] decodedEncodedData = SerializableUtils.decode( encodedData);
assertArrayEquals(
"mismatch between data and decoded version of encoded data",
data, decodedEncodedData);
}
private void assertDecodeEncodeEquals( String data) {
byte[] decodedData = SerializableUtils.decode( data);
String encodedDecodedData = SerializableUtils.encode( decodedData);
assertEquals(
"mismatch between data and encoded version of decoded data",
data, encodedDecodedData);
}
}