| TestControllers |

    1   /*
    2    *  TestControllers.java
    3    *
    4    *  Copyright (c) 1998-2001, The University of Sheffield.
    5    *
    6    *  This file is part of GATE (see http://gate.ac.uk/), and is free
    7    *  software, licenced under the GNU Library General Public License,
    8    *  Version 2, June 1991 (in the distribution as file licence.html,
    9    *  and also available at http://gate.ac.uk/gate/licence.html).
    10   *
    11   *  Hamish Cunningham, 16/Mar/00
    12   *
    13   *  $Id: TestControllers.java,v 1.17 2001/10/30 12:45:35 valyt Exp $
    14   */
    15
    16  package gate.creole;
    17
    18  import java.util.*;
    19  import java.io.*;
    20  import java.net.*;
    21  import junit.framework.*;
    22
    23  import gate.*;
    24  import gate.creole.*;
    25  import gate.util.*;
    26
    27  /** Tests for controller classes
    28    */
    29  public class TestControllers extends TestCase
    30  {
    31    /** Debug flag */
    32    private static final boolean DEBUG = false;
    33
    34    /** The CREOLE register */
    35    CreoleRegister reg;
    36
    37    /** Construction */
    38    public TestControllers(String name) { super(name); }
    39
    40    /** Fixture set up */
    41    public void setUp() throws GateException {
    42      // Initialise the GATE library and get the creole register
    43      Gate.init();
    44      reg = Gate.getCreoleRegister();
    45
    46    } // setUp
    47
    48    /** Put things back as they should be after running tests
    49      * (reinitialise the CREOLE register).
    50      */
    51    public void tearDown() throws Exception {
    52      reg.clear();
    53      Gate.init();
    54    } // tearDown
    55
    56    /** Serial controller test 1 */
    57    public void testSerial1() throws Exception {
    58      // a controller
    59      SerialController c1 = new SerialController();
    60      assertNotNull("c1 controller is null", c1);
    61
    62      //get a document
    63      FeatureMap params = Factory.newFeatureMap();
    64      params.put("sourceUrl", Gate.getUrl("tests/doc0.html"));
    65      params.put("markupAware", "false");
    66      Document doc = (Document)Factory.createResource("gate.corpora.DocumentImpl",
    67                                                      params);
    68
    69      if(DEBUG) {
    70        ResourceData docRd = (ResourceData) reg.get("gate.corpora.DocumentImpl");
    71        assertNotNull("Couldn't find document res data", docRd);
    72        Out.prln(docRd.getParameterList().getInitimeParameters());
    73      }
    74
    75      //create a default tokeniser
    76      params = Factory.newFeatureMap();
    77      params.put("tokeniserRulesURL",
    78                  "gate:/creole/tokeniser/DefaultTokeniser.rules");
    79      params.put("transducerGrammarURL",
    80                  "gate:/creole/tokeniser/postprocess.jape");
    81      params.put("encoding", "UTF-8");
    82      params.put("document", doc);
    83      ProcessingResource tokeniser = (ProcessingResource) Factory.createResource(
    84        "gate.creole.tokeniser.DefaultTokeniser", params
    85      );
    86
    87      //create a default gazetteer
    88      params = Factory.newFeatureMap();
    89      params.put("document", doc);
    90      params.put("listsURL", "gate:/creole/gazeteer/default/lists.def");
    91      ProcessingResource gaz = (ProcessingResource) Factory.createResource(
    92        "gate.creole.gazetteer.DefaultGazetteer", params
    93      );
    94
    95      // get the controller to encapsulate the tok and gaz
    96      c1.add(tokeniser);
    97      c1.add(gaz);
    98      c1.execute();
    99
    100     // check the resulting annotations
    101     if(DEBUG) {
    102       Out.prln(doc.getAnnotations());
    103       Out.prln(doc.getContent());
    104     }
    105     AnnotationSet annots = doc.getAnnotations();
    106     assertTrue("no annotations from doc!", !annots.isEmpty());
    107     Annotation a = annots.get(new Integer(580));
    108     assertNotNull("couldn't get annot with id 580", a);
    109 //sorry, this is no way to write a test!
    110 //    assert( // check offset - two values depending on whether saved with \r\n
    111 //      "wrong value: " + a.getStartNode().getOffset(),
    112 //      (a.getStartNode().getOffset().equals(new Long(1360)) ||
    113 //      a.getStartNode().getOffset().equals(new Long(1367)))
    114 //    );
    115 //    assert( // check offset - two values depending on whether saved with \r\n
    116 //      "wrong value: " + a.getEndNode().getOffset(),
    117 //      a.getEndNode().getOffset().equals(new Long(1361)) ||
    118 //      a.getEndNode().getOffset().equals(new Long(1442))
    119 //    );
    120   } // testSerial1()
    121
    122   /** Serial controller test 2 */
    123   public void testSerial2() throws Exception {
    124     // a controller
    125     Controller c1 = new SerialController();
    126     assertNotNull("c1 controller is null", c1);
    127 /*
    128     // a couple of PRs
    129     ResourceData pr1rd = (ResourceData) reg.get("testpkg.TestPR1");
    130     ResourceData pr2rd = (ResourceData) reg.get("testpkg.TestPR2");
    131     assert("couldn't find PR1/PR2 res data", pr1rd != null && pr2rd != null);
    132     assert("wrong name on PR1", pr1rd.getName().equals("Sheffield Test PR 1"));
    133     ProcessingResource pr1 = (ProcessingResource)
    134       Factory.createResource("testpkg.TestPR1", Factory.newFeatureMap());
    135     ProcessingResource pr2 = (ProcessingResource)
    136       Factory.createResource("testpkg.TestPR2", Factory.newFeatureMap());
    137
    138     // add the PRs to the controller and run it
    139     c1.add(pr1);
    140     c1.add(pr2);
    141     c1.run();
    142 */
    143   } // testSerial2()
    144
    145   /** Test suite routine for the test runner */
    146   public static Test suite() {
    147     return new TestSuite(TestControllers.class);
    148   } // suite
    149
    150 } // class TestControllers
    151

| TestControllers |