/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Package
///////////////
package org.apache.jena.ontology.impl;
// Imports
///////////////
import junit.framework.TestSuite;
import org.apache.jena.ontology.* ;
/**
* <p>
* Unit test cases for the Ontology class
* </p>
*/
public class TestOntology
extends OntTestBase
{
// Constants
//////////////////////////////////
// Static variables
//////////////////////////////////
// Instance variables
//////////////////////////////////
// Constructors
//////////////////////////////////
static public TestSuite suite() {
return new TestOntology( "TestOntology" );
}
public TestOntology( String name ) {
super( name );
}
// External signature methods
//////////////////////////////////
@Override
public OntTestCase[] getTests() {
return new OntTestCase[] {
new OntTestCase( "Ontology.imports", true, true, false ) {
@Override
public void ontTest( OntModel m ) {
Profile prof = m.getProfile();
Ontology x = m.createOntology( NS + "x" );
Ontology y = m.createOntology( NS + "y" );
Ontology z = m.createOntology( NS + "z" );
x.addImport( y );
assertEquals( "Cardinality should be 1", 1, x.getCardinality( prof.IMPORTS() ) );
assertEquals( "x should import y", y, x.getImport() );
x.addImport( z );
assertEquals( "Cardinality should be 2", 2, x.getCardinality( prof.IMPORTS() ) );
iteratorTest( x.listImports(), new Object[] {y,z} );
x.setImport( z );
assertEquals( "Cardinality should be 1", 1, x.getCardinality( prof.IMPORTS() ) );
assertEquals( "x should import z", z, x.getImport() );
x.removeImport( y );
assertEquals( "Cardinality should be 1", 1, x.getCardinality( prof.IMPORTS() ) );
x.removeImport( z );
assertEquals( "Cardinality should be 0", 0, x.getCardinality( prof.IMPORTS() ) );
}
},
new OntTestCase( "Ontology.backwardCompatibleWith", true, true, false ) {
@Override
public void ontTest( OntModel m ) {
Profile prof = m.getProfile();
Ontology x = m.createOntology( NS + "x" );
Ontology y = m.createOntology( NS + "y" );
Ontology z = m.createOntology( NS + "z" );
x.addBackwardCompatibleWith( y );
assertEquals( "Cardinality should be 1", 1, x.getCardinality( prof.BACKWARD_COMPATIBLE_WITH() ) );
assertEquals( "x should be back comp with y", y, x.getBackwardCompatibleWith() );
x.addBackwardCompatibleWith( z );
assertEquals( "Cardinality should be 2", 2, x.getCardinality( prof.BACKWARD_COMPATIBLE_WITH() ) );
iteratorTest( x.listBackwardCompatibleWith(), new Object[] {y,z} );
x.setBackwardCompatibleWith( z );
assertEquals( "Cardinality should be 1", 1, x.getCardinality( prof.BACKWARD_COMPATIBLE_WITH() ) );
assertEquals( "x should be back comp with z", z, x.getBackwardCompatibleWith() );
x.removeBackwardCompatibleWith( y );
assertEquals( "Cardinality should be 1", 1, x.getCardinality( prof.BACKWARD_COMPATIBLE_WITH() ) );
x.removeBackwardCompatibleWith( z );
assertEquals( "Cardinality should be 0", 0, x.getCardinality( prof.BACKWARD_COMPATIBLE_WITH() ) );
}
},
new OntTestCase( "Ontology.priorVersion", true, true, false ) {
@Override
public void ontTest( OntModel m ) {
Profile prof = m.getProfile();
Ontology x = m.createOntology( NS + "x" );
Ontology y = m.createOntology( NS + "y" );
Ontology z = m.createOntology( NS + "z" );
x.addPriorVersion( y );
assertEquals( "Cardinality should be 1", 1, x.getCardinality( prof.PRIOR_VERSION() ) );
assertEquals( "x should have prior y", y, x.getPriorVersion() );
x.addPriorVersion( z );
assertEquals( "Cardinality should be 2", 2, x.getCardinality( prof.PRIOR_VERSION() ) );
iteratorTest( x.listPriorVersion(), new Object[] {y,z} );
x.setPriorVersion( z );
assertEquals( "Cardinality should be 1", 1, x.getCardinality( prof.PRIOR_VERSION() ) );
assertEquals( "x should have prior z", z, x.getPriorVersion() );
x.removePriorVersion( y );
assertEquals( "Cardinality should be 1", 1, x.getCardinality( prof.PRIOR_VERSION() ) );
x.removePriorVersion( z );
assertEquals( "Cardinality should be 0", 0, x.getCardinality( prof.PRIOR_VERSION() ) );
}
},
new OntTestCase( "Ontology.incompatibleWith", true, true, false ) {
@Override
public void ontTest( OntModel m ) {
Profile prof = m.getProfile();
Ontology x = m.createOntology( NS + "x" );
Ontology y = m.createOntology( NS + "y" );
Ontology z = m.createOntology( NS + "z" );
x.addIncompatibleWith( y );
assertEquals( "Cardinality should be 1", 1, x.getCardinality( prof.INCOMPATIBLE_WITH() ) );
assertEquals( "x should be in comp with y", y, x.getIncompatibleWith() );
x.addIncompatibleWith( z );
assertEquals( "Cardinality should be 2", 2, x.getCardinality( prof.INCOMPATIBLE_WITH() ) );
iteratorTest( x.listIncompatibleWith(), new Object[] {y,z} );
x.setIncompatibleWith( z );
assertEquals( "Cardinality should be 1", 1, x.getCardinality( prof.INCOMPATIBLE_WITH() ) );
assertEquals( "x should be incomp with z", z, x.getIncompatibleWith() );
x.removeIncompatibleWith( y );
assertEquals( "Cardinality should be 1", 1, x.getCardinality( prof.INCOMPATIBLE_WITH() ) );
x.removeIncompatibleWith( z );
assertEquals( "Cardinality should be 0", 0, x.getCardinality( prof.INCOMPATIBLE_WITH() ) );
}
},
};
}
// Internal implementation methods
//////////////////////////////////
//==============================================================================
// Inner class definitions
//==============================================================================
}