📄 testframeview.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 04-Apr-2005
* Filename $RCSfile: TestFrameView.java,v $
* Revision $Revision: 1.8 $
* Release status $State: Exp $
*
* Last modified on $Date: 2007/01/02 11:51:55 $
* 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 junit.framework.TestCase;
import com.hp.hpl.jena.ontology.*;
import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.reasoner.test.TestUtil;
/**
* <p>
* Unit-tests for frame-like views of OWL and RDFS-classes, especially listDeclaredProperties
* </p>
*
* @author Ian Dickinson, HP Labs (<a href="mailto:Ian.Dickinson@hp.com">email</a>)
* @version Release @release@ ($Id: TestFrameView.java,v 1.8 2007/01/02 11:51:55 andy_seaborne Exp $)
*/
public class TestFrameView
extends TestCase
{
// Constants
//////////////////////////////////
public static final String BASE = "http://jena.hpl.hp.com/testing/ontology";
public static final String NS = BASE + "#";
// Static variables
//////////////////////////////////
// Instance variables
//////////////////////////////////
OntModel mInf;
OntModel mNoInf;
OntClass infA;
OntClass infB;
OntClass infC;
OntClass noinfA;
OntClass noinfB;
OntClass noinfC;
ObjectProperty noinfG;
ObjectProperty infG;
ObjectProperty noinfPa;
ObjectProperty noinfPb;
ObjectProperty noinfPc;
ObjectProperty infPa;
ObjectProperty infPb;
ObjectProperty infPc;
ObjectProperty noinfQa;
ObjectProperty noinfQb;
ObjectProperty infQa;
ObjectProperty infQb;
OntClass infAnn;
OntClass noinfAnn;
AnnotationProperty infPann;
AnnotationProperty noinfPann;
OntClass infUnion1;
OntClass infUnion2;
OntClass noinfUnion1;
OntClass noinfUnion2;
ObjectProperty infPunion;
ObjectProperty noinfPunion;
OntClass infIntersect1;
OntClass infIntersect2;
OntClass noinfIntersect1;
OntClass noinfIntersect2;
ObjectProperty infPintersect;
ObjectProperty noinfPintersect;
// Constructors
//////////////////////////////////
// External signature methods
//////////////////////////////////
public void setUp() {
OntDocumentManager.getInstance().reset();
OntDocumentManager.getInstance().clearCache();
mNoInf = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM );
mNoInf.read( "file:testing/ontology/owl/list-syntax/test-ldp.rdf" );
//mInf = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_RULE_INF );
mInf = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_MICRO_RULE_INF);
mInf.read( "file:testing/ontology/owl/list-syntax/test-ldp.rdf" );
infA = mInf.getOntClass( NS + "A" );
infB = mInf.getOntClass( NS + "B" );
infC = mInf.getOntClass( NS + "C" );
noinfA = mNoInf.getOntClass( NS + "A" );
noinfB = mNoInf.getOntClass( NS + "B" );
noinfC = mNoInf.getOntClass( NS + "C" );
noinfG = mNoInf.getObjectProperty( NS + "global" );
infG = mInf.getObjectProperty( NS + "global" );
noinfPa = mNoInf.getObjectProperty( NS + "pA" );
noinfPb = mNoInf.getObjectProperty( NS + "pB" );
noinfPc = mNoInf.getObjectProperty( NS + "pC" );
infPa = mInf.getObjectProperty( NS + "pA" );
infPb = mInf.getObjectProperty( NS + "pB" );
infPc = mInf.getObjectProperty( NS + "pC" );
noinfQa = mNoInf.getObjectProperty( NS + "qA" );
noinfQb = mNoInf.getObjectProperty( NS + "qB" );
infQa = mInf.getObjectProperty( NS + "qA" );
infQb = mInf.getObjectProperty( NS + "qB" );
infAnn = mInf.getOntClass( NS + "HasAnn" );
noinfAnn = mNoInf.getOntClass( NS + "HasAnn" );
infPann = mInf.getAnnotationProperty( NS + "ann" );
noinfPann = mNoInf.getAnnotationProperty( NS + "ann" );
infUnion1 = mInf.getOntClass( NS + "Union1" );
infUnion2 = mInf.getOntClass( NS + "Union2" );
noinfUnion1 = mNoInf.getOntClass( NS + "Union1" );
noinfUnion2 = mNoInf.getOntClass( NS + "Union2" );
infPunion = mInf.getObjectProperty( NS + "unionP" );
noinfPunion = mNoInf.getObjectProperty( NS + "unionP" );
infIntersect1 = mInf.getOntClass( NS + "Intersect1" );
infIntersect2 = mInf.getOntClass( NS + "Intersect2" );
noinfIntersect1 = mNoInf.getOntClass( NS + "Intersect1" );
noinfIntersect2 = mNoInf.getOntClass( NS + "Intersect2" );
infPintersect = mInf.getObjectProperty( NS + "intersectP" );
noinfPintersect = mNoInf.getObjectProperty( NS + "intersectP" );
}
public void tearDown() {
/* assistance with monitoring space leak
System.gc();
System.gc();
Runtime r = Runtime.getRuntime();
System.out.println( getName() +
" memory = " + r.freeMemory() +
", alloc = " + r.totalMemory() +
", % = " + Math.round( 100.0 * (double) r.freeMemory() / (double) r.totalMemory() ));
*/
mInf.close();
mInf = null;
mNoInf.close();
mNoInf = null;
}
// OntClass.listDeclaredProperties() tests ...
public void testLDP_noinfA_nodirect() {
TestUtil.assertIteratorValues( this, noinfA.listDeclaredProperties( false ),
new Object[] {noinfPa, noinfQa, noinfG, noinfQb} );
}
public void testHasDP_noinfA_nodirect() {
// we only need a small number of tests on hasDP because it's the
// main componenet of listDP
assertTrue( noinfA.hasDeclaredProperty( noinfPa, false ) );
assertFalse( noinfA.hasDeclaredProperty( noinfPb, false ) );
}
public void testLDP_noinfA_direct() {
TestUtil.assertIteratorValues( this, noinfA.listDeclaredProperties( true ),
new Object[] {noinfPa, noinfQa, noinfG, noinfQb} );
}
public void testLDP_infA_nodirect() {
TestUtil.assertIteratorValues( this, infA.listDeclaredProperties( false ),
new Object[] {infPa, infQa, infQb, noinfG} );
}
public void testLDP_infA_direct() {
TestUtil.assertIteratorValues( this, infA.listDeclaredProperties( true ),
new Object[] {infPa, infQa, infQb, noinfG} );
}
public void testLDP_noinfB_nodirect() {
TestUtil.assertIteratorValues( this, noinfB.listDeclaredProperties( false ),
new Object[] {noinfPa, noinfPb, noinfQa, noinfG, noinfQb} );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -