KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > hp > hpl > jena > ontology > impl > test > TestListSyntaxCategories


1 /*****************************************************************************
2  * Source code information
3  * -----------------------
4  * Original author Ian Dickinson, HP Labs Bristol
5  * Author email Ian.Dickinson@hp.com
6  * Package Jena 2
7  * Web http://sourceforge.net/projects/jena/
8  * Created 02-Apr-2003
9  * Filename $RCSfile: TestListSyntaxCategories.java,v $
10  * Revision $Revision: 1.24 $
11  * Release status $State: Exp $
12  *
13  * Last modified on $Date: 2005/04/06 23:04:51 $
14  * by $Author: ian_dickinson $
15  *
16  * (c) Copyright 2002, 2003, 2004, 2005 Hewlett-Packard Development Company, LP
17  * (see footer for full conditions)
18  *****************************************************************************/

19
20 // Package
21
///////////////
22
package com.hp.hpl.jena.ontology.impl.test;
23
24
25 // Imports
26
///////////////
27
import com.hp.hpl.jena.rdf.model.*;
28 import com.hp.hpl.jena.ontology.*;
29 import com.hp.hpl.jena.vocabulary.*;
30
31 import junit.framework.*;
32
33 import java.util.*;
34
35 import org.apache.commons.logging.Log;
36 import org.apache.commons.logging.LogFactory;
37
38
39
40 /**
41  * <p>
42  * Unit tests for listXXX methods on ontmodel
43  * </p>
44  *
45  * @author Ian Dickinson, HP Labs
46  * (<a HREF="mailto:Ian.Dickinson@hp.com" >email</a>)
47  * @version CVS $Id: TestListSyntaxCategories.java,v 1.24 2005/04/06 23:04:51 ian_dickinson Exp $
48  */

49 public class TestListSyntaxCategories
50     extends TestCase
51 {
52     // Constants
53
//////////////////////////////////
54
public static final String JavaDoc NS = "http://jena.hpl.hp.com/testing/ontology#";
55
56
57     // Static variables
58
//////////////////////////////////
59

60     protected static DoListTest[] testCases = {
61         // Ontology
62
new DoListTest( "OWL list ontologies", "file:testing/ontology/owl/list-syntax/test.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 1,
63                         new String JavaDoc[] {"http://jena.hpl.hp.com/testing/ontology"} )
64         {
65             public Iterator doList( OntModel m ) {
66                 return m.listOntologies();
67             }
68             public boolean test( Resource r ) {
69                 return r instanceof Ontology;
70             }
71         },
72         new DoListTest( "DAML list ontologies", "file:testing/ontology/daml/list-syntax/test.rdf", OntModelSpec.DAML_MEM_RULE_INF, 1,
73                         new String JavaDoc[] {"http://jena.hpl.hp.com/testing/ontology"} )
74         {
75             public Iterator doList( OntModel m ) {
76                 return m.listOntologies();
77             }
78             public boolean test( Resource r ) {
79                 return r instanceof Ontology;
80             }
81         },
82         // Properties
83
new DoListTest( "OWL list properties", "file:testing/ontology/owl/list-syntax/test.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 1,
84                         new String JavaDoc[] {NS+"p"} )
85         {
86             public Iterator doList( OntModel m ) {
87                 return m.listOntProperties();
88             }
89             public boolean test( Resource r ) {
90                 return r instanceof OntProperty &&
91                        r instanceof Property;
92             }
93         },
94         new DoListTest( "OWL list object properties", "file:testing/ontology/owl/list-syntax/test.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 2,
95                         new String JavaDoc[] {NS+"op", NS+"op1"} )
96         {
97             public Iterator doList( OntModel m ) {
98                 return m.listObjectProperties();
99             }
100             public boolean test( Resource r ) {
101                 return r instanceof OntProperty &&
102                        r instanceof Property;
103             }
104         },
105         new DoListTest( "OWL list datatype properties", "file:testing/ontology/owl/list-syntax/test.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 1,
106                         new String JavaDoc[] {NS+"dp"} )
107         {
108             public Iterator doList( OntModel m ) {
109                 return m.listDatatypeProperties();
110             }
111             public boolean test( Resource r ) {
112                 return r instanceof OntProperty &&
113                        r instanceof Property;
114             }
115         },
116         new DoListTest( "OWL list functional properties", "file:testing/ontology/owl/list-syntax/test-proptypes.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 1,
117                         new String JavaDoc[] {NS+"fp"} )
118         {
119             public Iterator doList( OntModel m ) {
120                 return m.listFunctionalProperties();
121             }
122             public boolean test( Resource r ) {
123                 return r instanceof OntProperty &&
124                        r instanceof FunctionalProperty &&
125                        r instanceof Property;
126             }
127         },
128         new DoListTest( "OWL list transitive properties", "file:testing/ontology/owl/list-syntax/test-proptypes.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 1,
129                         new String JavaDoc[] {NS+"tp"} )
130         {
131             public Iterator doList( OntModel m ) {
132                 return m.listTransitiveProperties();
133             }
134             public boolean test( Resource r ) {
135                 return r instanceof OntProperty &&
136                        r instanceof TransitiveProperty &&
137                        r instanceof Property;
138             }
139         },
140         new DoListTest( "OWL list symmetric properties", "file:testing/ontology/owl/list-syntax/test-proptypes.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 1,
141                         new String JavaDoc[] {NS+"sp"} )
142         {
143             public Iterator doList( OntModel m ) {
144                 return m.listSymmetricProperties();
145             }
146             public boolean test( Resource r ) {
147                 return r instanceof OntProperty &&
148                        r instanceof SymmetricProperty &&
149                        r instanceof Property;
150             }
151         },
152         new DoListTest( "OWL list inverse functional properties", "file:testing/ontology/owl/list-syntax/test-proptypes.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 1,
153                         new String JavaDoc[] {NS+"ifp"} )
154         {
155             public Iterator doList( OntModel m ) {
156                 return m.listInverseFunctionalProperties();
157             }
158             public boolean test( Resource r ) {
159                 return r instanceof OntProperty &&
160                        r instanceof InverseFunctionalProperty &&
161                        r instanceof Property;
162             }
163         },
164         new DoListTest( "DAML list properties", "file:testing/ontology/daml/list-syntax/test.rdf", OntModelSpec.DAML_MEM_RULE_INF, 5,
165                         new String JavaDoc[] {NS+"p", NS+"rdf-p", NS+"dp", NS+"op", NS+"op1"} )
166         {
167             public Iterator doList( OntModel m ) {
168                 return m.listOntProperties();
169             }
170             public boolean test( Resource r ) {
171                 return r instanceof OntProperty &&
172                        r instanceof Property;
173             }
174         },
175         new DoListTest( "DAML list object properties", "file:testing/ontology/daml/list-syntax/test.rdf", OntModelSpec.DAML_MEM_RULE_INF, 2,
176                         new String JavaDoc[] {NS+"op", NS+"op1"} )
177         {
178             public Iterator doList( OntModel m ) {
179                 return m.listObjectProperties();
180             }
181             public boolean test( Resource r ) {
182                 return r instanceof OntProperty &&
183                        r instanceof Property;
184             }
185         },
186         new DoListTest( "DAML list datatype properties", "file:testing/ontology/daml/list-syntax/test.rdf", OntModelSpec.DAML_MEM_RULE_INF, 1,
187                         new String JavaDoc[] {NS+"dp"} )
188         {
189             public Iterator doList( OntModel m ) {
190                 return m.listDatatypeProperties();
191             }
192             public boolean test( Resource r ) {
193                 return r instanceof OntProperty &&
194                        r instanceof Property;
195             }
196         },
197         new DoListTest( "DAML list functional properties", "file:testing/ontology/daml/list-syntax/test-proptypes.rdf", OntModelSpec.DAML_MEM_RULE_INF, 1,
198                         new String JavaDoc[] {NS+"fp"} )
199         {
200             public Iterator doList( OntModel m ) {
201                 return m.listFunctionalProperties();
202             }
203             public boolean test( Resource r ) {
204                 return r instanceof OntProperty &&
205                        r instanceof FunctionalProperty &&
206                        r instanceof Property;
207             }
208         },
209         new DoListTest( "DAML list transitive properties", "file:testing/ontology/daml/list-syntax/test-proptypes.rdf", OntModelSpec.DAML_MEM_RULE_INF, 1,
210                         new String JavaDoc[] {NS+"tp"} )
211         {
212             public Iterator doList( OntModel m ) {
213                 return m.listTransitiveProperties();
214             }
215             public boolean test( Resource r ) {
216                 return r instanceof OntProperty &&
217                        r instanceof TransitiveProperty &&
218                        r instanceof Property;
219             }
220         },
221         new DoListTest( "DAML list inverse functional properties", "file:testing/ontology/daml/list-syntax/test-proptypes.rdf", OntModelSpec.DAML_MEM_RULE_INF, 1,
222                         new String JavaDoc[] {NS+"ifp"} )
223         {
224             public Iterator doList( OntModel m ) {
225                 return m.listInverseFunctionalProperties();
226             }
227             public boolean test( Resource r ) {
228                 return r instanceof OntProperty &&
229                        r instanceof InverseFunctionalProperty &&
230                        r instanceof Property;
231             }
232         },
233
234         // individuals
235
new DoListTest( "OWL list individuals", "file:testing/ontology/owl/list-syntax/test.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 8,
236                         new String JavaDoc[] {NS+"A0", NS+"A1", NS+"C0", NS+"a0", NS+"a1", NS+"a2", NS+"z0", NS+"z1"} )
237         {
238             public Iterator doList( OntModel m ) {
239                 return m.listIndividuals();
240             }
241             public boolean test( Resource r ) {
242                 return r instanceof Individual;
243             }
244         },
245         new DoListTest( "empty OWL list individuals", null, OntModelSpec.OWL_MEM, 0, new String JavaDoc[] {} )
246         {
247             public Iterator doList( OntModel m ) {
248                 return m.listIndividuals();
249             }
250             public boolean test( Resource r ) {
251                 return r instanceof Individual;
252             }
253         },
254         new DoListTest( "empty OWL+rule list individuals", null, OntModelSpec.OWL_MEM_RULE_INF, 0, new String JavaDoc[] {} )
255         {
256             public Iterator doList( OntModel m ) {
257                 return m.listIndividuals();
258             }
259             public boolean test( Resource r ) {
260                 return r instanceof Individual;
261             }
262         },
263         new DoListTest( "DAML list individuals", "file:testing/ontology/daml/list-syntax/test.rdf", OntModelSpec.DAML_MEM_RULE_INF, 6,
264                         new String JavaDoc[] {NS+"A0", NS+"A1", NS+"C0", NS+"a1", NS+"a2", NS+"a0"} )
265         {
266             public Iterator doList( OntModel m ) {
267                 return m.listIndividuals();
268             }
269             public boolean test( Resource r ) {
270                 return r instanceof Individual;
271             }
272         },
273         new DoListTest( "empty DAML+rule list individuals", null, OntModelSpec.DAML_MEM_RULE_INF, 0, new String JavaDoc[] {} )
274         {
275             public Iterator doList( OntModel m ) {
276                 return m.listIndividuals();
277             }
278             public boolean test( Resource r ) {
279                 return r instanceof Individual;
280             }
281         },
282
283         new DoListTest( "OWL list all different", "file:testing/ontology/owl/list-syntax/test.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 1,
284                         null )
285         {
286             public Iterator doList( OntModel m ) {
287                 return m.listAllDifferent();
288             }
289             public boolean test( Resource r ) {
290                 return r instanceof AllDifferent;
291             }
292         },
293         new DoListTest( "DAML list all different", "file:testing/ontology/daml/list-syntax/test.rdf", OntModelSpec.DAML_MEM_RULE_INF, 0, null,
294                         true /* exception expected */ )
295         {
296             public Iterator doList( OntModel m ) {
297                 return m.listAllDifferent();
298             }
299             public boolean test( Resource r ) {
300                 return r instanceof AllDifferent;
301             }
302         },
303
304         // classes
305
new DoListTest( "OWL list classes", "file:testing/ontology/owl/list-syntax/test.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 11,
306                         new String JavaDoc[] {NS+"A", NS+"B", NS+"C", NS+"D", NS+"E", NS+"X0", NS+"X1", NS+"Y0", NS+"Y1", NS+"Z", } )
307         {
308             public Iterator doList( OntModel m ) {
309                 return m.listClasses();
310             }
311             public boolean test( Resource r ) {
312                 return r instanceof OntClass;
313             }
314         },
315         new DoListTest( "OWL list named classes", "file:testing/ontology/owl/list-syntax/test.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 10,
316                         new String JavaDoc[] {NS+"A", NS+"B", NS+"C", NS+"D", NS+"E", NS+"X0", NS+"X1", NS+"Y0", NS+"Y1", NS+"Z", } )
317         {
318             public Iterator doList( OntModel m ) {
319                 return m.listNamedClasses();
320             }
321             public boolean test( Resource r ) {
322                 return r instanceof OntClass;
323             }
324         },
325         new DoListTest( "OWL list intersection classes", "file:testing/ontology/owl/list-syntax/test.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 1,
326                         new String JavaDoc[] {NS+"A" } )
327         {
328             public Iterator doList( OntModel m ) {
329                 return m.listIntersectionClasses();
330             }
331             public boolean test( Resource r ) {
332                 return r instanceof OntClass;
333             }
334         },
335         new DoListTest( "OWL list union classes", "file:testing/ontology/owl/list-syntax/test.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 1,
336                         new String JavaDoc[] {NS+"B"} )
337         {
338             public Iterator doList( OntModel m ) {
339                 return m.listUnionClasses();
340             }
341             public boolean test( Resource r ) {
342                 return r instanceof OntClass;
343             }
344         },
345         new DoListTest( "OWL list complement classes", "file:testing/ontology/owl/list-syntax/test.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 1,
346                         new String JavaDoc[] {NS+"C"} )
347         {
348             public Iterator doList( OntModel m ) {
349                 return m.listComplementClasses();
350             }
351             public boolean test( Resource r ) {
352                 return r instanceof OntClass;
353             }
354         },
355         new DoListTest( "OWL list enumerated classes", "file:testing/ontology/owl/list-syntax/test.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 1,
356                         new String JavaDoc[] {NS+"D"} )
357         {
358             public Iterator doList( OntModel m ) {
359                 return m.listEnumeratedClasses();
360             }
361             public boolean test( Resource r ) {
362                 return r instanceof OntClass;
363             }
364         },
365         new DoListTest( "OWL list restrictions", "file:testing/ontology/owl/list-syntax/test.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 1,
366                         null )
367         {
368             public Iterator doList( OntModel m ) {
369                 return m.listRestrictions();
370             }
371             public boolean test( Resource r ) {
372                 return r instanceof Restriction;
373             }
374         },
375         new DoListTest( "DAML list classes", "file:testing/ontology/daml/list-syntax/test.rdf", OntModelSpec.DAML_MEM_RULE_INF, 12,
376                         new String JavaDoc[] {NS+"A", NS+"B", NS+"C", NS+"D", NS+"E", NS+"X0", NS+"X1", NS+"Y0", NS+"Y1", NS+"Z", DAML_OIL.Thing.getURI()} )
377         {
378             public Iterator doList( OntModel m ) {
379                 return m.listClasses();
380             }
381             public boolean test( Resource r ) {
382                 return r instanceof OntClass;
383             }
384         },
385         new DoListTest( "DAML list named classes", "file:testing/ontology/daml/list-syntax/test.rdf", OntModelSpec.DAML_MEM_RULE_INF, 11,
386                         new String JavaDoc[] {NS+"A", NS+"B", NS+"C", NS+"D", NS+"E", NS+"X0", NS+"X1", NS+"Y0", NS+"Y1", NS+"Z", DAML_OIL.Thing.getURI()} )
387         {
388             public Iterator doList( OntModel m ) {
389                 return m.listNamedClasses();
390             }
391             public boolean test( Resource r ) {
392                 return r instanceof OntClass;
393             }
394         },
395         new DoListTest( "DAML list intersection classes", "file:testing/ontology/daml/list-syntax/test.rdf", OntModelSpec.DAML_MEM_RULE_INF, 1,
396                         new String JavaDoc[] {NS+"A" } )
397         {
398             public Iterator doList( OntModel m ) {
399                 return m.listIntersectionClasses();
400             }
401             public boolean test( Resource r ) {
402                 return r instanceof OntClass;
403             }
404         },
405         new DoListTest( "DAML list union classes", "file:testing/ontology/daml/list-syntax/test.rdf", OntModelSpec.DAML_MEM_RULE_INF, 1,
406                         new String JavaDoc[] {NS+"B"} )
407         {
408             public Iterator doList( OntModel m ) {
409                 return m.listUnionClasses();
410             }
411             public boolean test( Resource r ) {
412                 return r instanceof OntClass;
413             }
414         },
415         new DoListTest( "DAML list complement classes", "file:testing/ontology/daml/list-syntax/test.rdf", OntModelSpec.DAML_MEM_RULE_INF, 1,
416                         new String JavaDoc[] {NS+"C"} )
417         {
418             public Iterator doList( OntModel m ) {
419                 return m.listComplementClasses();
420             }
421             public boolean test( Resource r ) {
422                 return r instanceof OntClass;
423             }
424         },
425         new DoListTest( "DAML list enumerated classes", "file:testing/ontology/daml/list-syntax/test.rdf", OntModelSpec.DAML_MEM_RULE_INF, 1,
426                         new String JavaDoc[] {NS+"D"} )
427         {
428             public Iterator doList( OntModel m ) {
429                 return m.listEnumeratedClasses();
430             }
431             public boolean test( Resource r ) {
432                 return r instanceof OntClass;
433             }
434         },
435         new DoListTest( "DAML list restrictions", "file:testing/ontology/daml/list-syntax/test.rdf", OntModelSpec.DAML_MEM_RULE_INF, 1,
436                         null )
437         {
438             public Iterator doList( OntModel m ) {
439                 return m.listRestrictions();
440             }
441             public boolean test( Resource r ) {
442                 return r instanceof Restriction;
443             }
444         },
445
446         // Annotation property
447
new DoListTest( "OWL list annotation properties", "file:testing/ontology/owl/list-syntax/test.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 6,
448                         null )
449         {
450             public Iterator doList( OntModel m ) {
451                 return m.listAnnotationProperties();
452             }
453             public boolean test( Resource r ) {
454                 return r instanceof AnnotationProperty;
455             }
456         },
457
458         // !!!!!!! Following tests use ontology that imports owl.owl !!!!!!!!!!!
459

460         // ontologies
461
new DoListTest( "OWL+import list ontologies", "file:testing/ontology/owl/list-syntax/test-with-import.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 2,
462                         new String JavaDoc[] {"http://jena.hpl.hp.com/testing/ontology", "http://www.w3.org/2002/07/owl"} )
463         {
464             public Iterator doList( OntModel m ) {
465                 return m.listOntologies();
466             }
467             public boolean test( Resource r ) {
468                 return r instanceof Ontology;
469             }
470         },
471         // Properties
472
new DoListTest( "OWL+import list properties", "file:testing/ontology/owl/list-syntax/test-with-import.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 40,
473                         null )
474         {
475             public Iterator doList( OntModel m ) {
476                 return m.listOntProperties();
477             }
478             public boolean test( Resource r ) {
479                 return r instanceof OntProperty &&
480                        r instanceof Property;
481             }
482         },
483         new DoListTest( "OWL+import list object properties", "file:testing/ontology/owl/list-syntax/test-with-import.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 2,
484                         new String JavaDoc[] {NS+"op", NS+"op1"} )
485         {
486             public Iterator doList( OntModel m ) {
487                 return m.listObjectProperties();
488             }
489             public boolean test( Resource r ) {
490                 return r instanceof OntProperty &&
491                        r instanceof Property;
492             }
493         },
494         new DoListTest( "OWL+import list datatype properties", "file:testing/ontology/owl/list-syntax/test-with-import.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 1,
495                         new String JavaDoc[] {NS+"dp"} )
496         {
497             public Iterator doList( OntModel m ) {
498                 return m.listDatatypeProperties();
499             }
500             public boolean test( Resource r ) {
501                 return r instanceof OntProperty &&
502                        r instanceof Property;
503             }
504         },
505
506         // individuals
507
new DoListTest( "OWL+import list individuals", "file:testing/ontology/owl/list-syntax/test-with-import.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 8,
508                         null )
509         {
510             public Iterator doList( OntModel m ) {
511                 return m.listIndividuals();
512             }
513             public boolean test( Resource r ) {
514                 return r instanceof Individual;
515             }
516         },
517
518         new DoListTest( "OWL+import list all different", "file:testing/ontology/owl/list-syntax/test-with-import.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 1,
519                         null )
520         {
521             public Iterator doList( OntModel m ) {
522                 return m.listAllDifferent();
523             }
524             public boolean test( Resource r ) {
525                 return r instanceof AllDifferent;
526             }
527         },
528
529         // classes
530
new DoListTest( "OWL+import list classes", "file:testing/ontology/owl/list-syntax/test-with-import.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 14,
531                         null )
532         {
533             public Iterator doList( OntModel m ) {
534                 return m.listClasses();
535             }
536             public boolean test( Resource r ) {
537                 return r instanceof OntClass;
538             }
539         },
540         new DoListTest( "OWL+import list named classes", "file:testing/ontology/owl/list-syntax/test-with-import.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 12,
541                         new String JavaDoc[] {NS+"A", NS+"B", NS+"C", NS+"D", NS+"E", NS+"X0", NS+"X1", NS+"Y0", NS+"Y1", NS+"Z",
542                                       OWL.Thing.getURI(), OWL.Nothing.getURI()} )
543         {
544             public Iterator doList( OntModel m ) {
545                 return m.listNamedClasses();
546             }
547             public boolean test( Resource r ) {
548                 return r instanceof OntClass;
549             }
550         },
551         new DoListTest( "OWL+import list intersection classes", "file:testing/ontology/owl/list-syntax/test-with-import.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 1,
552                         new String JavaDoc[] {NS+"A" } )
553         {
554             public Iterator doList( OntModel m ) {
555                 return m.listIntersectionClasses();
556             }
557             public boolean test( Resource r ) {
558                 return r instanceof OntClass;
559             }
560         },
561         new DoListTest( "OWL+import list union classes", "file:testing/ontology/owl/list-syntax/test-with-import.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 2,
562                         new String JavaDoc[] {NS+"B", OWL.Thing.getURI()} )
563         {
564             public Iterator doList( OntModel m ) {
565                 return m.listUnionClasses();
566             }
567             public boolean test( Resource r ) {
568                 return r instanceof OntClass;
569             }
570         },
571         new DoListTest( "OWL+import list complement classes", "file:testing/ontology/owl/list-syntax/test-with-import.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 3,
572                         null )
573         {
574             public Iterator doList( OntModel m ) {
575                 return m.listComplementClasses();
576             }
577             public boolean test( Resource r ) {
578                 return r instanceof OntClass;
579             }
580         },
581         new DoListTest( "OWL+import list enumerated classes", "file:testing/ontology/owl/list-syntax/test-with-import.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 1,
582                         new String JavaDoc[] {NS+"D"} )
583         {
584             public Iterator doList( OntModel m ) {
585                 return m.listEnumeratedClasses();
586             }
587             public boolean test( Resource r ) {
588                 return r instanceof OntClass;
589             }
590         },
591         new DoListTest( "OWL+import list restrictions", "file:testing/ontology/owl/list-syntax/test-with-import.rdf", OntModelSpec.OWL_MEM_TRANS_INF, 1,
592                         null )
593         {
594             public Iterator doList( OntModel m ) {
595                 return m.listRestrictions();
596             }
597             public boolean test( Resource r ) {
598                 return r instanceof Restriction;
599             }
600         },
601     };
602
603
604     // Instance variables
605
//////////////////////////////////
606

607     // Constructors
608
//////////////////////////////////
609

610     public TestListSyntaxCategories( String JavaDoc name ) {
611         super( name );
612     }
613
614
615
616     // External signature methods
617
//////////////////////////////////
618

619     public static TestSuite suite() {
620         TestSuite s = new TestSuite( "TestListSyntaxCategories" );
621
622         for (int i = 0; i < testCases.length; i++) {
623             s.addTest( testCases[i] );
624         }
625
626         return s;
627     }
628
629
630     // Internal implementation methods
631
//////////////////////////////////
632

633     //==============================================================================
634
// Inner class definitions
635
//==============================================================================
636

637     protected static class DoListTest
638         extends TestCase
639     {
640         protected String JavaDoc m_fileName;
641         protected OntModelSpec m_spec;
642         protected int m_count;
643         protected String JavaDoc[] m_expected;
644         protected boolean m_exExpected; // exception expected during list operation
645

646         protected DoListTest( String JavaDoc name, String JavaDoc fileName, OntModelSpec spec, int count, String JavaDoc[] expected ) {
647             this( name, fileName, spec, count, expected, false );
648         }
649
650         protected DoListTest( String JavaDoc name, String JavaDoc fileName, OntModelSpec spec, int count, String JavaDoc[] expected, boolean exExpected ) {
651             super( name );
652             m_fileName = fileName;
653             m_spec = spec;
654             m_count = count;
655             m_expected = expected;
656             m_exExpected = exExpected;
657         }
658
659         public void setUp() {
660             // ensure the ont doc manager is in a consistent state
661
OntDocumentManager.getInstance().reset( true );
662         }
663
664
665         public void runTest() {
666             OntModel m = ModelFactory.createOntologyModel( m_spec, null );
667             m.getDocumentManager().setMetadataSearchPath( "file:etc/ont-policy-test.rdf", true );
668
669             if (m_fileName != null) {
670                 m.read( m_fileName );
671             }
672
673             boolean exOccurred = false;
674             Iterator i = null;
675             try {
676                 i = doList( m );
677             }
678             catch (OntologyException e) {
679                 exOccurred = true;
680             }
681
682