📄 testclassexpression.java
字号:
IntersectionClass A = m.createIntersectionClass( NS + "A", null );
OntClass B = m.createClass( NS + "B" );
OntClass C = m.createClass( NS + "C" );
A.addOperand( B );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.INTERSECTION_OF() ) );
assertEquals( "Size should be 1", 1, A.getOperands().size() );
assertTrue( "A should have a as intersection member", A.getOperands().contains( B ) );
A.addOperand( C );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.INTERSECTION_OF() ) );
assertEquals( "Size should be 2", 2, A.getOperands().size() );
iteratorTest( A.listOperands(), new Object[] {B,C} );
ClosableIterator i = A.listOperands();
assertTrue( "Argument should be an OntClass", i.next() instanceof OntClass );
i.close();
A.setOperands( m.createList( new RDFNode[] {C} ) );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.INTERSECTION_OF() ) );
assertEquals( "Size should be 1", 1, A.getOperands().size() );
assertTrue( "A should have C in the intersection", A.hasOperand( C ) );
assertTrue( "A should not have B in the intersection", !A.hasOperand( B ) );
A.removeOperand( B );
assertTrue( "Should have C as an operand", A.hasOperand( C ) );
A.removeOperand( C );
assertTrue( "Should not have C as an operand", !A.hasOperand( C ) );
}
},
new OntTestCase( "UnionClass.unionOf", true, false, true, false ) {
public void ontTest( OntModel m ) throws Exception {
Profile prof = m.getProfile();
UnionClass A = m.createUnionClass( NS + "A", null );
OntClass B = m.createClass( NS + "B" );
OntClass C = m.createClass( NS + "C" );
A.addOperand( B );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.UNION_OF() ) );
assertEquals( "Size should be 1", 1, A.getOperands().size() );
assertTrue( "A should have a as union member", A.getOperands().contains( B ) );
A.addOperand( C );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.UNION_OF() ) );
assertEquals( "Size should be 2", 2, A.getOperands().size() );
iteratorTest( A.listOperands(), new Object[] {B,C} );
ClosableIterator i = A.listOperands();
assertTrue( "Argument should be an OntClass", i.next() instanceof OntClass );
i.close();
A.setOperands( m.createList( new RDFNode[] {C} ) );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.UNION_OF() ) );
assertEquals( "Size should be 1", 1, A.getOperands().size() );
assertTrue( "A should have C in the union", A.hasOperand( C ) );
assertTrue( "A should not have B in the union", !A.hasOperand( B ) );
A.removeOperand( B );
assertTrue( "Should have C as an operand", A.hasOperand( C ) );
A.removeOperand( C );
assertTrue( "Should not have C as an operand", !A.hasOperand( C ) );
}
},
new OntTestCase( "ComplementClass.complementOf", true, false, true, false ) {
public void ontTest( OntModel m ) throws Exception {
Profile prof = m.getProfile();
ComplementClass A = m.createComplementClass( NS + "A", null );
OntClass B = m.createClass( NS + "B" );
OntClass C = m.createClass( NS + "C" );
boolean ex = false;
try { A.addOperand( B ); } catch (UnsupportedOperationException e) {ex = true;}
assertTrue( "Should fail to add to a complement", ex );
ex = false;
try { A.addOperands( NullIterator.instance ); } catch (UnsupportedOperationException e) {ex = true;}
assertTrue( "Should fail to add to a complement", ex );
ex = false;
try { A.setOperands( m.createList( new RDFNode[] {C} ) ); } catch (UnsupportedOperationException e) {ex = true;}
assertTrue( "Should fail to set a list to a complement", ex );
A.setOperand( B );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.COMPLEMENT_OF() ) );
assertEquals( "Complement should be B", B, A.getOperand() );
iteratorTest( A.listOperands(), new Object[] {B} );
A.setOperand( C );
assertEquals( "Cardinality should be 1", 1, A.getCardinality( prof.COMPLEMENT_OF() ) );
assertTrue( "A should have C in the complement", A.hasOperand( C ) );
assertTrue( "A should not have B in the complement", !A.hasOperand( B ) );
A.removeOperand( B );
assertTrue( "Should have C as an operand", A.hasOperand( C ) );
A.removeOperand( C );
assertTrue( "Should not have C as an operand", !A.hasOperand( C ) );
}
},
new OntTestCase( "Restriction.onProperty", true, true, true, false ) {
public void ontTest( OntModel m ) throws Exception {
Profile prof = m.getProfile();
OntProperty p = m.createObjectProperty( NS + "p" );
OntProperty q = m.createObjectProperty( NS + "q" );
OntClass B = m.createClass( NS + "B" );
Restriction A = m.createAllValuesFromRestriction( NS + "A", p, B );
assertEquals( "Restriction should be on property p", p, A.getOnProperty() );
assertTrue( "Restriction should be on property p", A.onProperty( p ) );
assertTrue( "Restriction should not be on property q", !A.onProperty( q ) );
assertEquals( "cardinality should be 1 ", 1, A.getCardinality( prof.ON_PROPERTY() ));
A.setOnProperty( q );
assertEquals( "Restriction should be on property q", q, A.getOnProperty() );
assertTrue( "Restriction should not be on property p", !A.onProperty( p ) );
assertTrue( "Restriction should not on property q", A.onProperty( q ) );
assertEquals( "cardinality should be 1 ", 1, A.getCardinality( prof.ON_PROPERTY() ));
A.removeOnProperty( p );
assertTrue( "Should have q as on property", A.onProperty( q ) );
A.removeOnProperty( q );
assertTrue( "Should not have q as on property", !A.onProperty( q ) );
}
},
new OntTestCase( "AllValuesFromRestriction.allValuesFrom", true, true, true, false ) {
public void ontTest( OntModel m ) throws Exception {
Profile prof = m.getProfile();
OntProperty p = m.createObjectProperty( NS + "p" );
OntClass B = m.createClass( NS + "B" );
OntClass C = m.createClass( NS + "C" );
AllValuesFromRestriction A = m.createAllValuesFromRestriction( NS + "A", p, B );
assertEquals( "Restriction should be all values from B", B, A.getAllValuesFrom() );
assertTrue( "Restriction should be all values from B", A.hasAllValuesFrom( B ) );
assertTrue( "Restriction should not be all values from C", !A.hasAllValuesFrom( C ) );
assertEquals( "cardinality should be 1 ", 1, A.getCardinality( prof.ALL_VALUES_FROM() ));
A.setAllValuesFrom( C );
assertEquals( "Restriction should be all values from C", C, A.getAllValuesFrom() );
assertTrue( "Restriction should not be all values from B", !A.hasAllValuesFrom( B ) );
assertTrue( "Restriction should be all values from C", A.hasAllValuesFrom( C ) );
assertEquals( "cardinality should be 1 ", 1, A.getCardinality( prof.ALL_VALUES_FROM() ));
A.removeAllValuesFrom( C );
assertTrue( "Restriction should not be some values from C", !A.hasAllValuesFrom( C ) );
assertEquals( "cardinality should be 0 ", 0, A.getCardinality( prof.ALL_VALUES_FROM() ));
}
},
new OntTestCase( "AllValuesFromRestriction.allValuesFrom.datatype", true, true, true, false ) {
public void ontTest( OntModel m ) throws Exception {
Profile prof = m.getProfile();
OntProperty p = m.createObjectProperty( NS + "p" );
AllValuesFromRestriction A = m.createAllValuesFromRestriction( NS + "A", p, XSD.gDay );
assertEquals( "Restriction should be all values from gDay", XSD.gDay, A.getAllValuesFrom() );
assertTrue( "Restriction should be all values from gDay", A.hasAllValuesFrom( XSD.gDay ) );
assertTrue( "Restriction should not be all values from decimal", !A.hasAllValuesFrom( XSD.decimal ) );
assertEquals( "cardinality should be 1 ", 1, A.getCardinality( prof.ALL_VALUES_FROM() ));
A.setAllValuesFrom( XSD.gMonth );
assertEquals( "Restriction should be all values from gMonth", XSD.gMonth, A.getAllValuesFrom() );
assertTrue( "Restriction should not be all values from gDay", !A.hasAllValuesFrom( XSD.gDay ) );
assertTrue( "Restriction should be all values from gMonth", A.hasAllValuesFrom( XSD.gMonth ) );
assertEquals( "cardinality should be 1 ", 1, A.getCardinality( prof.ALL_VALUES_FROM() ));
A.removeAllValuesFrom( XSD.gMonth );
assertTrue( "Restriction should not be some values from gMonth", !A.hasAllValuesFrom( XSD.gMonth ) );
assertEquals( "cardinality should be 0 ", 0, A.getCardinality( prof.ALL_VALUES_FROM() ));
}
},
new OntTestCase( "AllValuesFromRestriction.allValuesFrom.literal", true, true, true, false ) {
public void ontTest( OntModel m ) throws Exception {
Profile prof = m.getProfile();
OntProperty p = m.createObjectProperty( NS + "p" );
AllValuesFromRestriction A = m.createAllValuesFromRestriction( NS + "A", p, RDFS.Literal );
assertEquals( "Restriction should be all values from literal", RDFS.Literal, A.getAllValuesFrom() );
assertTrue( "Restriction should be all values from literal", A.hasAllValuesFrom( RDFS.Literal ) );
assertTrue( "Restriction should not be all values from decimal", !A.hasAllValuesFrom( XSD.decimal ) );
assertEquals( "cardinality should be 1 ", 1, A.getCardinality( prof.ALL_VALUES_FROM() ));
}
},
new OntTestCase( "AllValuesFromRestriction.allValuesFrom.datarange", true, false, false, false ) {
public void ontTest( OntModel m ) throws Exception {
Profile prof = m.getProfile();
Literal x = m.createLiteral( 1 );
Literal y = m.createLiteral( 2 );
DataRange dr = m.createDataRange( m.createList( new RDFNode[] {x, y} ) );
OntProperty p = m.createObjectProperty( NS + "p" );
AllValuesFromRestriction A = m.createAllValuesFromRestriction( NS + "A", p, dr );
assertEquals( "Restriction should be all values from dr", dr, A.getAllValuesFrom() );
assertTrue( "value should be a datarange", A.getAllValuesFrom() instanceof DataRange );
assertTrue( "Restriction should be all values from dr", A.hasAllValuesFrom( dr ) );
assertTrue( "Restriction should not be all values from decimal", !A.hasAllValuesFrom( XSD.decimal ) );
assertEquals( "cardinality should be 1 ", 1, A.getCardinality( prof.ALL_VALUES_FROM() ));
A.removeAllValuesFrom( dr );
assertTrue( "Restriction should not be some values from gMonth", !A.hasAllValuesFrom( dr ) );
assertEquals( "cardinality should be 0 ", 0, A.getCardinality( prof.ALL_VALUES_FROM() ));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -