1 2 3 4 package net.nutch.io; 5 6 import net.nutch.io.TestWritable; 7 import junit.framework.TestCase; 8 import java.security.MessageDigest ; 9 import java.util.Random ; 10 11 12 public class TestMD5Hash extends TestCase { 13 public TestMD5Hash(String name) { super(name); } 14 15 private static final Random RANDOM = new Random (); 16 17 public static MD5Hash getTestHash() throws Exception { 18 MessageDigest digest = MessageDigest.getInstance("MD5"); 19 byte[] buffer = new byte[1024]; 20 RANDOM.nextBytes(buffer); 21 digest.update(buffer); 22 return new MD5Hash(digest.digest()); 23 } 24 25 public void testMD5Hash() throws Exception { 26 MD5Hash md5Hash = getTestHash(); 27 28 MD5Hash md5Hash00 29 = new MD5Hash(new byte[] {0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0}); 30 31 MD5Hash md5HashFF 32 = new MD5Hash(new byte[] {-1,-1,-1,-1,-1,-1,-1,-1, 33 -1,-1,-1,-1,-1,-1,-1,-1}); 34 35 TestWritable.testWritable(md5Hash); 37 TestWritable.testWritable(md5Hash00); 38 TestWritable.testWritable(md5HashFF); 39 40 assertEquals(md5Hash, md5Hash); 42 assertEquals(md5Hash00, md5Hash00); 43 assertEquals(md5HashFF, md5HashFF); 44 45 assertTrue(md5Hash.compareTo(md5Hash) == 0); 47 assertTrue(md5Hash00.compareTo(md5Hash) < 0); 48 assertTrue(md5HashFF.compareTo(md5Hash) > 0); 49 50 assertEquals(md5Hash, new MD5Hash(md5Hash.toString())); 52 assertEquals(md5Hash00, new MD5Hash(md5Hash00.toString())); 53 assertEquals(md5HashFF, new MD5Hash(md5HashFF.toString())); 54 55 } 56 57 } 58 | Popular Tags |