BoundedDepthRuleTest.java
上传用户:qing5858
上传日期:2015-10-27
资源大小:6056k
文件大小:3k
源码类别:

搜索引擎

开发平台:

Java

  1. package net.javacoding.jspider.mod.rule;
  2. import junit.framework.TestCase;
  3. import net.javacoding.jspider.spi.Rule;
  4. import net.javacoding.jspider.mockobjects.OverridingPropertySet;
  5. import net.javacoding.jspider.api.model.Decision;
  6. import java.net.URL;
  7. /**
  8.  * $Id: BoundedDepthRuleTest.java,v 1.1 2003/04/07 15:51:05 vanrogu Exp $
  9.  */
  10. public class BoundedDepthRuleTest extends TestCase {
  11.     OverridingPropertySet config;
  12.     public BoundedDepthRuleTest ( ) {
  13.         super ( "BoundedDepthRuleTest" );
  14.     }
  15.     protected void setUp() throws Exception {
  16.         config = new OverridingPropertySet ( null );
  17.     }
  18.     public void testSimple ( ) throws Exception {
  19.         int min = 0;
  20.         int max = 0;
  21.         String urlString = "http://j-spider.sourceforge.net/test.html";
  22.         int expected = Decision.RULE_ACCEPT;
  23.         applyTest(min,max,urlString, expected);
  24.     }
  25.     public void testMaxOK ( ) throws Exception {
  26.         int min = 0;
  27.         int max = 3;
  28.         String urlString = "http://j-spider.sourceforge.net/test/abc/index.html";
  29.         int expected = Decision.RULE_ACCEPT;
  30.         applyTest(min,max,urlString, expected);
  31.     }
  32.     public void testMaxOnBoundary ( ) throws Exception {
  33.         int min = 0;
  34.         int max = 2;
  35.         String urlString = "http://j-spider.sourceforge.net/test/abc/index.html";
  36.         int expected = Decision.RULE_ACCEPT;
  37.         applyTest(min,max,urlString, expected);
  38.     }
  39.     public void testMaxError ( ) throws Exception {
  40.         int min = 0;
  41.         int max = 1;
  42.         String urlString = "http://j-spider.sourceforge.net/test/abc/index.html";
  43.         int expected = Decision.RULE_IGNORE;
  44.         applyTest(min,max,urlString, expected);
  45.     }
  46.     public void testMinOK ( ) throws Exception {
  47.         int min = 2;
  48.         int max = 999;
  49.         String urlString = "http://j-spider.sourceforge.net/test/abc/def/index.html";
  50.         int expected = Decision.RULE_ACCEPT;
  51.         applyTest(min,max,urlString, expected);
  52.     }
  53.     public void testMinOnBoundary ( ) throws Exception {
  54.         int min = 3;
  55.         int max = 999;
  56.         String urlString = "http://j-spider.sourceforge.net/test/abc/def/index.html";
  57.         int expected = Decision.RULE_ACCEPT;
  58.         applyTest(min,max,urlString, expected);
  59.     }
  60.     public void testBothOnBoundary ( ) throws Exception {
  61.         int min = 3;
  62.         int max = 3;
  63.         String urlString = "http://j-spider.sourceforge.net/test/abc/def/index.html";
  64.         int expected = Decision.RULE_ACCEPT;
  65.         applyTest(min,max,urlString, expected);
  66.     }
  67.     public void testMinError ( ) throws Exception {
  68.         int min = 4;
  69.         int max = 999;
  70.         String urlString = "http://j-spider.sourceforge.net/test/abc/def/index.html";
  71.         int expected = Decision.RULE_IGNORE;
  72.         applyTest(min,max,urlString, expected);
  73.     }
  74.     public void applyTest ( int min, int max, String urlString, int expected ) throws Exception {
  75.         URL url = new URL(urlString);
  76.         config.setValue(BoundedDepthRule.MIN_DEPTH, new Integer(min));
  77.         config.setValue(BoundedDepthRule.MAX_DEPTH, new Integer(max));
  78.         Rule rule = new BoundedDepthRule(config);
  79.         Decision decision = rule.apply(null, null, url);
  80.         assertEquals("wrong decision taken on url", expected, decision.getDecision() );
  81.     }
  82. }