You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2016/05/18 11:26:18 UTC
svn commit: r1744391 -
/commons/proper/codec/trunk/src/test/java/org/apache/commons/codec/digest/MessageDigestAlgorithmsTest.java
Author: sebb
Date: Wed May 18 11:26:18 2016
New Revision: 1744391
URL: http://svn.apache.org/viewvc?rev=1744391&view=rev
Log:
Add test for values() array
Modified:
commons/proper/codec/trunk/src/test/java/org/apache/commons/codec/digest/MessageDigestAlgorithmsTest.java
Modified: commons/proper/codec/trunk/src/test/java/org/apache/commons/codec/digest/MessageDigestAlgorithmsTest.java
URL: http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/test/java/org/apache/commons/codec/digest/MessageDigestAlgorithmsTest.java?rev=1744391&r1=1744390&r2=1744391&view=diff
==============================================================================
--- commons/proper/codec/trunk/src/test/java/org/apache/commons/codec/digest/MessageDigestAlgorithmsTest.java (original)
+++ commons/proper/codec/trunk/src/test/java/org/apache/commons/codec/digest/MessageDigestAlgorithmsTest.java Wed May 18 11:26:18 2016
@@ -19,13 +19,17 @@ package org.apache.commons.codec.digest;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
import java.nio.ByteBuffer;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
+
import org.junit.After;
import org.junit.Assert;
import org.junit.Assume;
import org.junit.Before;
+import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@@ -44,6 +48,39 @@ public class MessageDigestAlgorithmsTest
return MessageDigestAlgorithms.values();
}
+ private static boolean contains(String key) {
+ for(String s : MessageDigestAlgorithms.values()) {
+ if (s.equals(key)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @BeforeClass
+ public static void checkValues() throws Exception {
+ Field [] fields = MessageDigestAlgorithms.class.getDeclaredFields();
+ boolean ok = true;
+ int psf = 0;
+ for(Field f : fields) {
+ // Only interested in public fields
+ final int modifiers = f.getModifiers();
+ if (Modifier.isPublic(modifiers) && Modifier.isStatic(modifiers) && Modifier.isFinal(modifiers)) {
+ psf++;
+ if (!contains((String) f.get(null))) {
+ System.out.println("Not found in MessageDigestAlgorithms.values(): "+f.getName());
+ ok = false;
+ }
+ }
+ }
+ if (!ok) {
+ Assert.fail("One or more entries are missing from the MessageDigestAlgorithms.values() array");
+ }
+ if (psf != MessageDigestAlgorithms.values().length) {
+ Assert.fail("One or more unexpected entries found in the MessageDigestAlgorithms.values() array");
+ }
+ }
+
private DigestUtilsTest digestUtilsTest;
private final String messageDigestAlgorithm;