aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ShortenedDigestTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ShortenedDigestTest.java')
-rw-r--r--libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ShortenedDigestTest.java89
1 files changed, 89 insertions, 0 deletions
diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ShortenedDigestTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ShortenedDigestTest.java
new file mode 100644
index 000000000..58b701490
--- /dev/null
+++ b/libraries/spongycastle/core/src/test/java/org/spongycastle/crypto/test/ShortenedDigestTest.java
@@ -0,0 +1,89 @@
+/*
+ * Created on 6/05/2006
+ *
+ * To change the template for this generated file go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.spongycastle.crypto.test;
+
+import org.spongycastle.crypto.ExtendedDigest;
+import org.spongycastle.crypto.digests.SHA1Digest;
+import org.spongycastle.crypto.digests.SHA512Digest;
+import org.spongycastle.crypto.digests.ShortenedDigest;
+import org.spongycastle.util.test.SimpleTest;
+
+public class ShortenedDigestTest
+ extends SimpleTest
+{
+ public void performTest()
+ {
+ ExtendedDigest d = new SHA1Digest();
+ ShortenedDigest sd = new ShortenedDigest(new SHA1Digest(), 10);
+
+ if (sd.getDigestSize() != 10)
+ {
+ fail("size check wrong for SHA-1");
+ }
+
+ if (sd.getByteLength() != d.getByteLength())
+ {
+ fail("byte length check wrong for SHA-1");
+ }
+
+ //
+ // check output fits
+ //
+ sd.doFinal(new byte[10], 0);
+
+ d = new SHA512Digest();
+ sd = new ShortenedDigest(new SHA512Digest(), 20);
+
+ if (sd.getDigestSize() != 20)
+ {
+ fail("size check wrong for SHA-512");
+ }
+
+ if (sd.getByteLength() != d.getByteLength())
+ {
+ fail("byte length check wrong for SHA-512");
+ }
+
+ //
+ // check output fits
+ //
+ sd.doFinal(new byte[20], 0);
+
+ try
+ {
+ new ShortenedDigest(null, 20);
+
+ fail("null parameter not caught");
+ }
+ catch (IllegalArgumentException e)
+ {
+ // expected
+ }
+
+ try
+ {
+ new ShortenedDigest(new SHA1Digest(), 50);
+
+ fail("short digest not caught");
+ }
+ catch (IllegalArgumentException e)
+ {
+ // expected
+ }
+ }
+
+ public String getName()
+ {
+ return "ShortenedDigest";
+ }
+
+ public static void main(
+ String[] args)
+ {
+ runTest(new ShortenedDigestTest());
+ }
+}