diff options
Diffstat (limited to 'core/src/test/java/org/spongycastle/util/encoders/test/EncoderTest.java')
-rw-r--r-- | core/src/test/java/org/spongycastle/util/encoders/test/EncoderTest.java | 250 |
1 files changed, 250 insertions, 0 deletions
diff --git a/core/src/test/java/org/spongycastle/util/encoders/test/EncoderTest.java b/core/src/test/java/org/spongycastle/util/encoders/test/EncoderTest.java new file mode 100644 index 00000000..4e0e79c2 --- /dev/null +++ b/core/src/test/java/org/spongycastle/util/encoders/test/EncoderTest.java @@ -0,0 +1,250 @@ +package org.spongycastle.util.encoders.test; + +import java.util.Arrays; +import java.util.Random; + +import org.spongycastle.util.encoders.Base64; +import org.spongycastle.util.encoders.Hex; +import org.spongycastle.util.test.SimpleTest; + +public class EncoderTest + extends SimpleTest +{ + public static final boolean DEBUG = true; + + + public static void main( + String[] args) + { + runTest(new EncoderTest()); + } + + public String getName() + { + return "Encoder"; + } + + /* + * + * TESTS + * + */ + + public void performTest() + { + testHex(); + testBase64(); + testBase64WithNL(); + } + + + public void testBase64() + { + try + { + Random _r = new Random(); + + byte[] _orig1024 = new byte[1024]; + _r.nextBytes(_orig1024); + + byte[] _orig2048 = new byte[2048]; + _r.nextBytes(_orig2048); + + byte[] _orig4096 = new byte[4096]; + _r.nextBytes(_orig4096); + + byte[] _orig8192 = new byte[8192]; + _r.nextBytes(_orig8192); + + byte[] _enc1024 = Base64.encode(_orig1024); + byte[] _enc2048 = Base64.encode(_orig2048); + byte[] _enc4096 = Base64.encode(_orig4096); + byte[] _enc8192 = Base64.encode(_orig8192); + + byte[] _dec1024 = Base64.decode(_enc1024); + byte[] _dec2048 = Base64.decode(_enc2048); + byte[] _dec4096 = Base64.decode(_enc4096); + byte[] _dec8192 = Base64.decode(_enc8192); + + if(!Arrays.equals(_orig1024, _dec1024)) + { + fail("Failed Base64 test"); + } + + if(!Arrays.equals(_orig2048, _dec2048)) + { + fail("Failed Base64 test"); + } + + if(!Arrays.equals(_orig4096, _dec4096)) + { + fail("Failed Base64 test"); + } + + if(!Arrays.equals(_orig8192, _dec8192)) + { + fail("Failed Base64 test"); + } + + + + byte[] _orig1025 = new byte[1025]; + _r.nextBytes(_orig1025); + + byte[] _orig2049 = new byte[2049]; + _r.nextBytes(_orig2049); + + byte[] _orig4097 = new byte[4097]; + _r.nextBytes(_orig4097); + + byte[] _orig8193 = new byte[8193]; + _r.nextBytes(_orig8193); + + byte[] _enc1025 = Base64.encode(_orig1025); + byte[] _enc2049 = Base64.encode(_orig2049); + byte[] _enc4097 = Base64.encode(_orig4097); + byte[] _enc8193 = Base64.encode(_orig8193); + + byte[] _dec1025 = Base64.decode(_enc1025); + byte[] _dec2049 = Base64.decode(_enc2049); + byte[] _dec4097 = Base64.decode(_enc4097); + byte[] _dec8193 = Base64.decode(_enc8193); + + if(!Arrays.equals(_orig1025, _dec1025)) + { + fail("Failed Base64 test"); + } + + if(!Arrays.equals(_orig2049, _dec2049)) + { + fail("Failed Base64 test"); + } + + if(!Arrays.equals(_orig4097, _dec4097)) + { + fail("Failed Base64 test"); + } + + if(!Arrays.equals(_orig8193, _dec8193)) + { + fail("Failed Base64 test"); + } + } + catch(Exception ex) + { + fail("Failed Base64 test"); + } + } + + public void testBase64WithNL() + { + byte[] dec = Base64.decode("SVNC" + "\n" + "QUQ=\n"); + + if (dec.length != 5) + { + fail("got length " + dec.length + " when expecting 10"); + } + + if (!areEqual(dec, Base64.decode("SVNCQUQ="))) + { + fail("decodings are not equal"); + } + } + + public void testHex() + { + try + { + Random _r = new Random(); + + byte[] _orig1024 = new byte[1024]; + _r.nextBytes(_orig1024); + + byte[] _orig2048 = new byte[2048]; + _r.nextBytes(_orig2048); + + byte[] _orig4096 = new byte[4096]; + _r.nextBytes(_orig4096); + + byte[] _orig8192 = new byte[8192]; + _r.nextBytes(_orig8192); + + byte[] _enc1024 = Hex.encode(_orig1024); + byte[] _enc2048 = Hex.encode(_orig2048); + byte[] _enc4096 = Hex.encode(_orig4096); + byte[] _enc8192 = Hex.encode(_orig8192); + + byte[] _dec1024 = Hex.decode(_enc1024); + byte[] _dec2048 = Hex.decode(_enc2048); + byte[] _dec4096 = Hex.decode(_enc4096); + byte[] _dec8192 = Hex.decode(_enc8192); + + if(!Arrays.equals(_orig1024, _dec1024)) + { + fail("Failed Hex test"); + } + + if(!Arrays.equals(_orig2048, _dec2048)) + { + fail("Failed Hex test"); + } + + if(!Arrays.equals(_orig4096, _dec4096)) + { + fail("Failed Hex test"); + } + + if(!Arrays.equals(_orig8192, _dec8192)) + { + fail("Failed Hex test"); + } + + + byte[] _orig1025 = new byte[1025]; + _r.nextBytes(_orig1025); + + byte[] _orig2049 = new byte[2049]; + _r.nextBytes(_orig2049); + + byte[] _orig4097 = new byte[4097]; + _r.nextBytes(_orig4097); + + byte[] _orig8193 = new byte[8193]; + _r.nextBytes(_orig8193); + + byte[] _enc1025 = Hex.encode(_orig1025); + byte[] _enc2049 = Hex.encode(_orig2049); + byte[] _enc4097 = Hex.encode(_orig4097); + byte[] _enc8193 = Hex.encode(_orig8193); + + byte[] _dec1025 = Hex.decode(_enc1025); + byte[] _dec2049 = Hex.decode(_enc2049); + byte[] _dec4097 = Hex.decode(_enc4097); + byte[] _dec8193 = Hex.decode(_enc8193); + + if(!Arrays.equals(_orig1025, _dec1025)) + { + fail("Failed Hex test"); + } + + if(!Arrays.equals(_orig2049, _dec2049)) + { + fail("Failed Hex test"); + } + + if(!Arrays.equals(_orig4097, _dec4097)) + { + fail("Failed Hex test"); + } + + if(!Arrays.equals(_orig8193, _dec8193)) + { + fail("Failed Hex test"); + } + } + catch(Exception ex) + { + fail("Failed Hex test"); + } + } +} |