KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > archive > util > fingerprint > LongFPSetCacheTest


1 /* LongFPSetCacheTest
2  *
3  * $Id: LongFPSetCacheTest.java,v 1.1 2005/05/06 02:49:01 stack-sf Exp $
4  *
5  * Created Wed Jan 21 09:00:29 CET 2004
6  *
7  * Copyright (C) 2004 Internet Archive.
8  *
9  * This file is part of the Heritrix web crawler (crawler.archive.org).
10  *
11  * Heritrix is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser Public License as published by
13  * the Free Software Foundation; either version 2.1 of the License, or
14  * any later version.
15  *
16  * Heritrix is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU Lesser Public License for more details.
20  *
21  * You should have received a copy of the GNU Lesser Public License
22  * along with Heritrix; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24  */

25
26 package org.archive.util.fingerprint;
27
28 import junit.framework.Test;
29 import junit.framework.TestSuite;
30
31 /**
32  * JUnit test suite for LongFPSetCache
33  *
34  * @author <a HREF="mailto:me@jamesc.net">James Casey</a>
35  * @version $ Id:$
36  */

37 public class LongFPSetCacheTest extends LongFPSetTestCase {
38     /**
39      * Create a new LongFPSetCacheTest object
40      *
41      * @param testName the name of the test
42      */

43     public LongFPSetCacheTest(final String JavaDoc testName) {
44         super(testName);
45     }
46
47     /**
48      * run all the tests for LongFPSetCacheTest
49      *
50      * @param argv the command line arguments
51      */

52     public static void main(String JavaDoc argv[]) {
53         junit.textui.TestRunner.run(suite());
54     }
55
56     /**
57      * return the suite of tests for LongFPSetCacheTest
58      *
59      * @return the suite of test
60      */

61     public static Test suite() {
62         return new TestSuite(LongFPSetCacheTest.class);
63     }
64
65     LongFPSet makeLongFPSet() {
66         return new LongFPSetCache();
67     }
68
69     /**
70      * This is a cache buffer, which does not grow,
71      * but chucks out old values. Therefore it has a different behaviour
72      * from all the other LongFPSets. We do a different test here.
73      */

74
75     public void testCount() {
76         LongFPSet fpSet = new LongFPSetCache();
77         // TODO: for some reason, when run in a debugger,
78
// the cache-item-discard is glacially slow. It's
79
// reasonable when executing.) So, reducing the
80
// number of past-saturation tests in order to let
81
// full-unit-tests complete more quickly.
82
final int NUM = 800; // was 1000
83
final int MAX_ENTRIES = 768;
84
85         assertEquals("empty set to start", 0, fpSet.count());
86
87         for (int i = 1; i < NUM; ++i) {
88             fpSet.add((long) i);
89             assertEquals("correct num on add",
90                     i<MAX_ENTRIES?i:MAX_ENTRIES, fpSet.count());
91         }
92     }
93
94     // TODO - implement test methods in LongFPSetCacheTest
95
}
96
97
Popular Tags