// Copyright 2011 Google Inc. All Rights Reserved. package com.google.common.hash; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import junit.framework.TestCase; /** * Tests for the MessageDigestHashFunction. * * @author kak@google.com (Kurt Alfred Kluever) */ public class MessageDigestHashFunctionTest extends TestCase { public void testMd5Hashing() throws Exception { assertMessageDigestHashing(HashTestUtils.ascii(""), "MD5"); assertMessageDigestHashing(HashTestUtils.ascii("Z"), "MD5"); assertMessageDigestHashing(HashTestUtils.ascii("foobar"), "MD5"); } public void testSha1Hashing() throws Exception { assertMessageDigestHashing(HashTestUtils.ascii(""), "SHA1"); assertMessageDigestHashing(HashTestUtils.ascii("Z"), "SHA1"); assertMessageDigestHashing(HashTestUtils.ascii("foobar"), "SHA1"); } private static void assertMessageDigestHashing(byte[] input, String algorithmName) throws NoSuchAlgorithmException { HashTestUtils.assertEqualHashes( MessageDigest.getInstance(algorithmName).digest(input), new MessageDigestHashFunction(algorithmName).hashBytes(input).asBytes()); } }