📄 testclassexpression.java
字号:
/*****************************************************************************
* Source code information
* -----------------------
* Original author Ian Dickinson, HP Labs Bristol
* Author email Ian.Dickinson@hp.com
* Package Jena 2
* Web http://sourceforge.net/projects/jena/
* Created 27-May-2003
* Filename $RCSfile: TestClassExpression.java,v $
* Revision $Revision: 1.34 $
* Release status $State: Exp $
*
* Last modified on $Date: 2007/01/02 11:51:54 $
* by $Author: andy_seaborne $
*
* (c) Copyright 2002, 2003, 2004, 2005, 2006, 2007 Hewlett-Packard Development Company, LP
* (see footer for full conditions)
*****************************************************************************/
// Package
///////////////
package com.hp.hpl.jena.ontology.impl.test;
// Imports
///////////////
import com.hp.hpl.jena.ontology.*;
import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.util.iterator.ClosableIterator;
import com.hp.hpl.jena.util.iterator.NullIterator;
import com.hp.hpl.jena.vocabulary.*;
import junit.framework.*;
/**
* <p>
* Unit tests for OntClass and other class expressions.
* </p>
*
* @author Ian Dickinson, HP Labs
* (<a href="mailto:Ian.Dickinson@hp.com" >email</a>)
* @version CVS $Id: TestClassExpression.java,v 1.34 2007/01/02 11:51:54 andy_seaborne Exp $
*/
public class TestClassExpression
extends OntTestBase
{
// Constants
//////////////////////////////////
// Static variables
//////////////////////////////////
// Instance variables
//////////////////////////////////
// Constructors
//////////////////////////////////
static public TestSuite suite() {
return new TestClassExpression( "TestClassExpression" );
}
public TestClassExpression( String name ) {
super( name );
}
// External signature methods
//////////////////////////////////
public OntTestCase[] getTests() {
return new OntTestCase[] {
new OntTestCase( "OntClass.super-class", true, true, true, true ) {
public void ontTest( OntModel m ) throws Exception {
Profile prof = m.getProfile();
OntClass A = m.createClass( NS + "A" );
OntClass B = m.createClass( NS + "B" );
OntClass C = m.createClass( NS + "C" );
A.addSuperClass( B );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.SUB_CLASS_OF() ) );
assertEquals( "A should have super-class B", B, A.getSuperClass() );
A.addSuperClass( C );
assertEquals( "Cardinality should be 2", 2, A.getCardinality( prof.SUB_CLASS_OF() ) );
iteratorTest( A.listSuperClasses(), new Object[] {C, B} );
A.setSuperClass( C );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.SUB_CLASS_OF() ) );
assertEquals( "A shuold have super-class C", C, A.getSuperClass() );
assertTrue( "A shuold not have super-class B", !A.hasSuperClass( B, false ) );
A.removeSuperClass( B );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.SUB_CLASS_OF() ) );
A.removeSuperClass( C );
assertEquals( "Cardinality should be 0", 0, A.getCardinality( prof.SUB_CLASS_OF() ) );
}
},
new OntTestCase( "OntClass.sub-class", true, true, true, true ) {
public void ontTest( OntModel m ) throws Exception {
Profile prof = m.getProfile();
OntClass A = m.createClass( NS + "A" );
OntClass B = m.createClass( NS + "B" );
OntClass C = m.createClass( NS + "C" );
A.addSubClass( B );
assertEquals( "Cardinality should be 1", 1, B.getCardinality( prof.SUB_CLASS_OF() ) );
assertEquals( "A should have sub-class B", B, A.getSubClass() );
A.addSubClass( C );
assertEquals( "Cardinality should be 2", 2, B.getCardinality( prof.SUB_CLASS_OF() ) + C.getCardinality( prof.SUB_CLASS_OF() ) );
iteratorTest( A.listSubClasses(), new Object[] {C, B} );
A.setSubClass( C );
assertEquals( "Cardinality should be 1", 1, B.getCardinality( prof.SUB_CLASS_OF() ) + C.getCardinality( prof.SUB_CLASS_OF() ) );
assertEquals( "A shuold have sub-class C", C, A.getSubClass() );
assertTrue( "A shuold not have sub-class B", !A.hasSubClass( B, false ) );
A.removeSubClass( B );
assertTrue( "A should have sub-class C", A.hasSubClass( C, false ) );
A.removeSubClass( C );
assertTrue( "A should not have sub-class C", !A.hasSubClass( C, false ) );
}
},
new OntTestCase( "OntClass.equivalentClass", true, true, true, false ) {
public void ontTest( OntModel m ) throws Exception {
Profile prof = m.getProfile();
OntClass A = m.createClass( NS + "A" );
OntClass B = m.createClass( NS + "B" );
OntClass C = m.createClass( NS + "C" );
A.addEquivalentClass( B );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.EQUIVALENT_CLASS() ) );
assertEquals( "A have equivalentClass B", B, A.getEquivalentClass() );
A.addEquivalentClass( C );
assertEquals( "Cardinality should be 2", 2, A.getCardinality( prof.EQUIVALENT_CLASS() ) );
iteratorTest( A.listEquivalentClasses(), new Object[] {C, B} );
A.setEquivalentClass( C );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.EQUIVALENT_CLASS() ) );
assertEquals( "A should have equivalentClass C", C, A.getEquivalentClass() );
assertTrue( "A should not have equivalentClass B", !A.hasEquivalentClass( B ) );
A.removeEquivalentClass( B );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.EQUIVALENT_CLASS() ) );
A.removeEquivalentClass( C );
assertEquals( "Cardinality should be 0", 0, A.getCardinality( prof.EQUIVALENT_CLASS() ) );
}
},
new OntTestCase( "OntClass.disjointWith", true, false, true, false ) {
public void ontTest( OntModel m ) throws Exception {
Profile prof = m.getProfile();
OntClass A = m.createClass( NS + "A" );
OntClass B = m.createClass( NS + "B" );
OntClass C = m.createClass( NS + "C" );
A.addDisjointWith( B );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.DISJOINT_WITH() ) );
assertEquals( "A have be disjoint with B", B, A.getDisjointWith() );
A.addDisjointWith( C );
assertEquals( "Cardinality should be 2", 2, A.getCardinality( prof.DISJOINT_WITH() ) );
iteratorTest( A.listDisjointWith(), new Object[] {C,B} );
A.setDisjointWith( C );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.DISJOINT_WITH() ) );
assertEquals( "A should be disjoint with C", C, A.getDisjointWith() );
assertTrue( "A should not be disjoint with B", !A.isDisjointWith( B ) );
A.removeDisjointWith( B );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.DISJOINT_WITH() ) );
A.removeDisjointWith( C );
assertEquals( "Cardinality should be 0", 0, A.getCardinality( prof.DISJOINT_WITH() ) );
}
},
new OntTestCase( "EnumeratedClass.oneOf", true, false, true, false ) {
public void ontTest( OntModel m ) throws Exception {
Profile prof = m.getProfile();
EnumeratedClass A = m.createEnumeratedClass( NS + "A", null );
OntResource a = (OntResource) m.getResource( NS + "a" ).as( OntResource.class );
OntResource b = (OntResource) m.getResource( NS + "b" ).as( OntResource.class );
A.addOneOf( a );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.ONE_OF() ) );
assertEquals( "Size should be 1", 1, A.getOneOf().size() );
assertTrue( "A should have a as enumerated member", A.getOneOf().contains( a ) );
A.addOneOf( b );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.ONE_OF() ) );
assertEquals( "Size should be 2", 2, A.getOneOf().size() );
iteratorTest( A.listOneOf(), new Object[] {a,b} );
A.setOneOf( m.createList( new RDFNode[] {b} ) );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.ONE_OF() ) );
assertEquals( "Size should be 1", 1, A.getOneOf().size() );
assertTrue( "A should have b in the enum", A.hasOneOf( b ) );
assertTrue( "A should not have a in the enum", !A.hasOneOf( a ) );
A.removeOneOf( a );
assertTrue( "Should have b as an enum value", A.hasOneOf( b ) );
A.removeOneOf( b );
assertTrue( "Should not have b as an enum value", !A.hasOneOf( b ) );
}
},
new OntTestCase( "IntersectionClass.intersectionOf", true, true, true, false ) {
public void ontTest( OntModel m ) throws Exception {
Profile prof = m.getProfile();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -