/*
* 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.*;
import org.apache.jena.ontology.* ;
import org.apache.jena.rdf.model.RDFNode ;
/**
* <p>
* Unit tests for the AllDifferent declaration.
* </p>
*/
public class TestAllDifferent
extends OntTestBase
{
// Constants
//////////////////////////////////
// Static variables
//////////////////////////////////
// Instance variables
//////////////////////////////////
// Constructors
//////////////////////////////////
static public TestSuite suite() {
return new TestAllDifferent( "TestAllDifferent" );
}
public TestAllDifferent( String name ) {
super( name );
}
// External signature methods
//////////////////////////////////
@Override
public OntTestCase[] getTests() {
return new OntTestCase[] {
new OntTestCase( "AllDifferent.distinctMembers", true, true, false ) {
@Override
public void ontTest( OntModel m ) {
Profile prof = m.getProfile();
AllDifferent a = m.createAllDifferent();
OntResource b = m.getResource( NS + "b" ).as( OntResource.class );
OntResource c = m.getResource( NS + "c" ).as( OntResource.class );
a.addDistinctMember( b );
assertEquals( "Cardinality should be 1", 1, a.getCardinality( prof.DISTINCT_MEMBERS() ) );
assertEquals( "List size should be 1", 1, a.getDistinctMembers().size() );
assertTrue( "a should have b as distinct", a.hasDistinctMember( b ) );
a.addDistinctMember( c );
assertEquals( "Cardinality should be 1", 1, a.getCardinality( prof.DISTINCT_MEMBERS() ) );
assertEquals( "List size should be 2", 2, a.getDistinctMembers().size() );
iteratorTest( a.listDistinctMembers(), new Object[] {b, c} );
assertTrue( "a should have b as distinct", a.hasDistinctMember( b ) );
assertTrue( "a should have c as distinct", a.hasDistinctMember( c ) );
a.setDistinctMembers( m.createList( new RDFNode[] {b} ) );
assertEquals( "Cardinality should be 1", 1, a.getCardinality( prof.DISTINCT_MEMBERS() ) );
assertEquals( "List size should be 1", 1, a.getDistinctMembers().size() );
assertTrue( "a should have b as distinct", a.hasDistinctMember( b ) );
assertTrue( "a should not have c as distinct", !a.hasDistinctMember( c ) );
a.removeDistinctMember( b );
assertTrue( "a should have not b as distinct", !a.hasDistinctMember( b ) );
}
},
};
}
// Internal implementation methods
//////////////////////////////////
//==============================================================================
// Inner class definitions
//==============================================================================
}