KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > nutch > io > TestMD5Hash


1 /* Copyright (c) 2003 The Nutch Organization. All rights reserved. */
2 /* Use subject to the conditions in http://www.nutch.org/LICENSE.txt. */
3
4 package net.nutch.io;
5
6 import net.nutch.io.TestWritable;
7 import junit.framework.TestCase;
8 import java.security.MessageDigest JavaDoc;
9 import java.util.Random JavaDoc;
10
11 /** Unit tests for MD5Hash. */
12 public class TestMD5Hash extends TestCase {
13   public TestMD5Hash(String JavaDoc name) { super(name); }
14
15   private static final Random JavaDoc RANDOM = new Random JavaDoc();
16
17   public static MD5Hash getTestHash() throws Exception JavaDoc {
18     MessageDigest JavaDoc 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 JavaDoc {
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     // test i/o
36
TestWritable.testWritable(md5Hash);
37     TestWritable.testWritable(md5Hash00);
38     TestWritable.testWritable(md5HashFF);
39
40     // test equals()
41
assertEquals(md5Hash, md5Hash);
42     assertEquals(md5Hash00, md5Hash00);
43     assertEquals(md5HashFF, md5HashFF);
44
45     // test compareTo()
46
assertTrue(md5Hash.compareTo(md5Hash) == 0);
47     assertTrue(md5Hash00.compareTo(md5Hash) < 0);
48     assertTrue(md5HashFF.compareTo(md5Hash) > 0);
49
50     // test toString and string ctor
51
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