package bugs;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLClass;
import org.semanticweb.owlapi.model.OWLClassExpression;
import org.semanticweb.owlapi.model.OWLDataProperty;
import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyCreationException;
@SuppressWarnings("javadoc")
public class VerifyComplianceUniversityTestCase extends VerifyComplianceBase {
String input = "Prefix(owl:=<http://www.w3.org/2002/07/owl#>)\n"
+ "Prefix(rdf:=<http://www.w3.org/1999/02/22-rdf-syntax-ns#>)\n"
+ "Prefix(xml:=<http://www.w3.org/XML/1998/namespace>)\n"
+ "Prefix(xsd:=<http://www.w3.org/2001/XMLSchema#>)\n"
+ "Prefix(rdfs:=<http://www.w3.org/2000/01/rdf-schema#>)\n"
+ '\n'
+ '\n'
+ "Ontology(<urn:university>\n"
+ '\n'
+ "Declaration(Class(<urn:university#AIStudent>))\n"
+ "Declaration(Class(<urn:university#AI_Dept>))\n"
+ "Declaration(Class(<urn:university#AssistantProfessor>))\n"
+ "Declaration(Class(<urn:university#CS_Course>))\n"
+ "Declaration(Class(<urn:university#CS_Department>))\n"
+ "Declaration(Class(<urn:university#CS_Library>))\n"
+ "Declaration(Class(<urn:university#CS_Student>))\n"
+ "Declaration(Class(<urn:university#CS_StudentTakingCourses>))\n"
+ "Declaration(Class(<urn:university#Course>))\n"
+ "Declaration(Class(<urn:university#Department>))\n"
+ "Declaration(Class(<urn:university#EE_Course>))\n"
+ "Declaration(Class(<urn:university#EE_Department>))\n"
+ "Declaration(Class(<urn:university#EE_Library>))\n"
+ "Declaration(Class(<urn:university#Faculty>))\n"
+ "Declaration(Class(<urn:university#FacultyPhoneBook>))\n"
+ "Declaration(Class(<urn:university#HCIStudent>))\n"
+ "Declaration(Class(<urn:university#Lecturer>))\n"
+ "Declaration(Class(<urn:university#LecturerTaking4Courses>))\n"
+ "Declaration(Class(<urn:university#Library>))\n"
+ "Declaration(Class(<urn:university#Person>))\n"
+ "Declaration(Class(<urn:university#PhoneBook>))\n"
+ "Declaration(Class(<urn:university#Professor>))\n"
+ "Declaration(Class(<urn:university#ProfessorInHCIorAI>))\n"
+ "Declaration(Class(<urn:university#ResearchArea>))\n"
+ "Declaration(Class(<urn:university#Schedule>))\n"
+ "Declaration(Class(<urn:university#Student>))\n"
+ "Declaration(Class(<urn:university#TeachingFaculty>))\n"
+ "Declaration(Class(<urn:university#UniversityPhoneBook>))\n"
+ "Declaration(ObjectProperty(<urn:university#advisorOf>))\n"
+ "Declaration(ObjectProperty(<urn:university#affiliatedWith>))\n"
+ "Declaration(ObjectProperty(<urn:university#hasAdvisor>))\n"
+ "Declaration(ObjectProperty(<urn:university#hasDegree>))\n"
+ "Declaration(ObjectProperty(<urn:university#hasResearchArea>))\n"
+ "Declaration(ObjectProperty(<urn:university#memberOf>))\n"
+ "Declaration(ObjectProperty(<urn:university#offeredIn>))\n"
+ "Declaration(ObjectProperty(<urn:university#offersCourse>))\n"
+ "Declaration(ObjectProperty(<urn:university#takesCourse>))\n"
+ "Declaration(ObjectProperty(<urn:university#worksFor>))\n"
+ "Declaration(DataProperty(<urn:university#hasTenure>))\n"
+ "Declaration(NamedIndividual(<urn:university#AI>))\n"
+ "Declaration(NamedIndividual(<urn:university#Graphics>))\n"
+ "Declaration(NamedIndividual(<urn:university#HCI>))\n"
+ "Declaration(NamedIndividual(<urn:university#Network>))\n"
+ "SubClassOf(<urn:university#AIStudent> <urn:university#CS_Student>)\n"
+ "SubClassOf(<urn:university#AIStudent> ObjectSomeValuesFrom(<urn:university#hasAdvisor> <urn:university#ProfessorInHCIorAI>))\n"
+ "DisjointClasses(<urn:university#AIStudent> <urn:university#HCIStudent>)\n"
+ "EquivalentClasses(<urn:university#AI_Dept> ObjectIntersectionOf(ObjectHasValue(<urn:university#hasResearchArea> <urn:university#AI>) <urn:university#CS_Department>))\n"
+ "EquivalentClasses(<urn:university#AssistantProfessor> ObjectIntersectionOf(DataHasValue(<urn:university#hasTenure> \"false\"^^xsd:boolean) <urn:university#TeachingFaculty>))\n"
+ "SubClassOf(<urn:university#AssistantProfessor> <urn:university#TeachingFaculty>)\n"
+ "DisjointClasses(<urn:university#AssistantProfessor> <urn:university#Lecturer>)\n"
+ "DisjointClasses(<urn:university#AssistantProfessor> <urn:university#Professor>)\n"
+ "SubClassOf(<urn:university#CS_Course> <urn:university#Course>)\n"
+ "SubClassOf(<urn:university#CS_Course> ObjectSomeValuesFrom(<urn:university#offeredIn> <urn:university#CS_Department>))\n"
+ "SubClassOf(<urn:university#CS_Department> <urn:university#Department>)\n"
+ "SubClassOf(<urn:university#CS_Department> ObjectSomeValuesFrom(<urn:university#affiliatedWith> <urn:university#CS_Library>))\n"
+ "DisjointClasses(<urn:university#CS_Department> <urn:university#EE_Department>)\n"
+ "SubClassOf(<urn:university#CS_Library> <urn:university#Library>)\n"
+ "SubClassOf(<urn:university#CS_Library> ObjectSomeValuesFrom(<urn:university#affiliatedWith> <urn:university#EE_Library>))\n"
+ "SubClassOf(<urn:university#CS_Student> <urn:university#Student>)\n"
+ "SubClassOf(<urn:university#CS_Student> ObjectAllValuesFrom(<urn:university#takesCourse> <urn:university#CS_Course>))\n"
+ "SubClassOf(<urn:university#CS_StudentTakingCourses> <urn:university#CS_Student>)\n"
+ "SubClassOf(<urn:university#CS_StudentTakingCourses> ObjectMinCardinality(1 <urn:university#takesCourse>))\n"
+ "SubClassOf(<urn:university#EE_Course> <urn:university#Course>)\n"
+ "SubClassOf(<urn:university#EE_Course> ObjectSomeValuesFrom(<urn:university#offeredIn> <urn:university#EE_Department>))\n"
+ "EquivalentClasses(<urn:university#EE_Department> ObjectSomeValuesFrom(<urn:university#affiliatedWith> <urn:university#EE_Library>))\n"
+ "SubClassOf(<urn:university#EE_Department> <urn:university#Department>)\n"
+ "SubClassOf(<urn:university#EE_Library> <urn:university#Library>)\n"
+ "SubClassOf(<urn:university#Faculty> <urn:university#Person>)\n"
+ "SubClassOf(<urn:university#FacultyPhoneBook> <urn:university#PhoneBook>)\n"
+ "SubClassOf(<urn:university#HCIStudent> <urn:university#CS_Student>)\n"
+ "SubClassOf(<urn:university#HCIStudent> ObjectSomeValuesFrom(<urn:university#hasAdvisor> <urn:university#ProfessorInHCIorAI>))\n"
+ "EquivalentClasses(<urn:university#Lecturer> ObjectIntersectionOf(DataHasValue(<urn:university#hasTenure> \"false\"^^xsd:boolean) <urn:university#TeachingFaculty>))\n"
+ "SubClassOf(<urn:university#Lecturer> <urn:university#TeachingFaculty>)\n"
+ "DisjointClasses(<urn:university#Lecturer> <urn:university#Professor>)\n"
+ "SubClassOf(<urn:university#LecturerTaking4Courses> <urn:university#Lecturer>)\n"
+ "SubClassOf(<urn:university#LecturerTaking4Courses> ObjectExactCardinality(4 <urn:university#takesCourse>))\n"
+ "EquivalentClasses(<urn:university#Professor> ObjectIntersectionOf(DataHasValue(<urn:university#hasTenure> \"true\"^^xsd:boolean) <urn:university#TeachingFaculty>))\n"
+ "SubClassOf(<urn:university#Professor> <urn:university#TeachingFaculty>)\n"
+ "SubClassOf(<urn:university#ProfessorInHCIorAI> <urn:university#Professor>)\n"
+ "SubClassOf(<urn:university#ProfessorInHCIorAI> ObjectAllValuesFrom(<urn:university#advisorOf> <urn:university#AIStudent>))\n"
+ "SubClassOf(<urn:university#ProfessorInHCIorAI> ObjectAllValuesFrom(<urn:university#advisorOf> <urn:university#HCIStudent>))\n"
+ "SubClassOf(<urn:university#Student> <urn:university#Person>)\n"
+ "SubClassOf(<urn:university#Student> ObjectMinCardinality(1 <urn:university#hasDegree>))\n"
+ "SubClassOf(<urn:university#TeachingFaculty> <urn:university#Faculty>)\n"
+ "SubClassOf(<urn:university#TeachingFaculty> ObjectSomeValuesFrom(<urn:university#hasResearchArea> <urn:university#ResearchArea>))\n"
+ "SubClassOf(<urn:university#TeachingFaculty> ObjectMaxCardinality(3 <urn:university#takesCourse>))\n"
+ "SubClassOf(<urn:university#UniversityPhoneBook> <urn:university#PhoneBook>)\n"
+ "InverseObjectProperties(<urn:university#advisorOf> <urn:university#hasAdvisor>)\n"
+ "TransitiveObjectProperty(<urn:university#affiliatedWith>)\n"
+ "DataPropertyDomain(<urn:university#hasTenure> <urn:university#TeachingFaculty>)\n"
+ "DataPropertyRange(<urn:university#hasTenure> xsd:boolean)\n"
+ "ClassAssertion(owl:Thing <urn:university#AI>)\n"
+ "ClassAssertion(owl:Thing <urn:university#Graphics>)\n"
+ "ClassAssertion(owl:Thing <urn:university#HCI>)\n"
+ "ClassAssertion(owl:Thing <urn:university#Network>))";
@Override
protected OWLOntology load(String in) throws OWLOntologyCreationException {
return loadFromString(input);
}
@Override
protected String input() {
return "/AF_university.owl.xml";
}
private OWLClass assistantProfessor = C("urn:university#AssistantProfessor");
private OWLClass aiStudent = C("urn:university#AIStudent");
private OWLClass aiDept = C("urn:university#AI_Dept");
private OWLClass CS_Department = C("urn:university#CS_Department");
private OWLClass HCIStudent = C("urn:university#HCIStudent");
private OWLClass CS_StudentTakingCourses = C("urn:university#CS_StudentTakingCourses");
private OWLClass LecturerTaking4Courses = C("urn:university#LecturerTaking4Courses");
private OWLClass Lecturer = C("urn:university#Lecturer");
private OWLClass CS_Course = C("urn:university#CS_Course");
private OWLClass Professor = C("urn:university#Professor");
private OWLClass ProfessorInHCIorAI = C("urn:university#ProfessorInHCIorAI");
private OWLClass UniversityPhoneBook = C("urn:university#UniversityPhoneBook");
private OWLClass ResearchArea = C("urn:university#ResearchArea");
private OWLClass TeachingFaculty = C("urn:university#TeachingFaculty");
private OWLClass Department = C("urn:university#Department");
private OWLClass Person = C("urn:university#Person");
private OWLClass CS_Student = C("urn:university#CS_Student");
private OWLClass Student = C("urn:university#Student");
private OWLClass PhoneBook = C("urn:university#PhoneBook");
private OWLClass EE_Course = C("urn:university#EE_Course");
private OWLClass Faculty = C("urn:university#Faculty");
private OWLClass CS_Library = C("urn:university#CS_Library");
private OWLClass EE_Department = C("urn:university#EE_Department");
private OWLClass FacultyPhoneBook = C("urn:university#FacultyPhoneBook");
private OWLClass Schedule = C("urn:university#Schedule");
private OWLClass Library = C("urn:university#Library");
private OWLClass Course = C("urn:university#Course");
private OWLClass EE_Library = C("urn:university#EE_Library");
private OWLDataProperty hasTenure = df.getOWLDataProperty(IRI
.create("urn:university#hasTenure"));
@Test
public void shouldPassgetBottomClass() {
equal(reasoner.getBottomClassNode(), assistantProfessor, aiStudent,
aiDept, CS_Department, HCIStudent, CS_StudentTakingCourses,
LecturerTaking4Courses, Lecturer, owlNothing, CS_Course);
}
@Test
public void shouldPassgetUnsatisfiableClasses() {
equal(reasoner.getUnsatisfiableClasses(), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassisSatisfiableProfessor() {
equal(reasoner.isSatisfiable(Professor), true);
}
@Test
public void shouldPassisSatisfiableProfessorInHCIorAI() {
equal(reasoner.isSatisfiable(ProfessorInHCIorAI), true);
}
@Test
public void shouldPassgetSubClassesowlThingtrue() {
equal(reasoner.getSubClasses(owlThing, true), PhoneBook, ResearchArea,
Department, Person, Library, Schedule, Course);
}
@Test
public void shouldPassgetSubClassesowlThingfalse() {
equal(reasoner.getSubClasses(owlThing, false), Student, PhoneBook,
UniversityPhoneBook, CS_Student, ResearchArea, TeachingFaculty,
Department, Person, Professor, EE_Course, Faculty, EE_Library,
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course, CS_Library, EE_Department,
ProfessorInHCIorAI, FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetDisjointClassesowlThing() {
equal(reasoner.getDisjointClasses(owlThing), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesUniversityPhoneBookfalse() {
equal(reasoner.getSubClasses(UniversityPhoneBook, false),
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesUniversityPhoneBooktrue() {
equal(reasoner.getSubClasses(UniversityPhoneBook, true),
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesUniversityPhoneBook() {
equal(reasoner.getDisjointClasses(UniversityPhoneBook),
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesCS_Studentfalse() {
equal(reasoner.getSubClasses(CS_Student, false), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesCS_Studenttrue() {
equal(reasoner.getSubClasses(CS_Student, true), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesCS_Student() {
equal(reasoner.getDisjointClasses(CS_Student), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesResearchAreafalse() {
equal(reasoner.getSubClasses(ResearchArea, false), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesResearchAreatrue() {
equal(reasoner.getSubClasses(ResearchArea, true), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesResearchArea() {
equal(reasoner.getDisjointClasses(ResearchArea), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesDepartmentfalse() {
equal(reasoner.getSubClasses(Department, false), CS_Library,
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course, EE_Department);
}
@Test
public void shouldPassgetDisjointClassesDepartment() {
equal(reasoner.getDisjointClasses(Department), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesTeachingFacultyfalse() {
equal(reasoner.getSubClasses(TeachingFaculty, false),
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course, ProfessorInHCIorAI, Professor);
}
@Test
public void shouldPassgetSubClassesTeachingFacultytrue() {
equal(reasoner.getSubClasses(TeachingFaculty, true), Professor);
}
@Test
public void shouldPassgetDisjointClassesTeachingFaculty() {
equal(reasoner.getDisjointClasses(TeachingFaculty), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSuperClassesHCIStudentfalse() {
equal(reasoner.getSuperClasses(HCIStudent, false), owlThing, Student,
PhoneBook, UniversityPhoneBook, CS_Student, ResearchArea,
TeachingFaculty, Department, Person, Professor, EE_Course,
Faculty, EE_Library, CS_Library, EE_Department,
ProfessorInHCIorAI, FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetSuperClassesHCIStudenttrue() {
equal(reasoner.getSuperClasses(HCIStudent, true), EE_Library,
CS_Student, CS_Library, UniversityPhoneBook, ResearchArea,
ProfessorInHCIorAI, FacultyPhoneBook, EE_Course, Schedule);
}
@Test
public void shouldPassgetEquivalentClassesHCIStudent() {
equal(reasoner.getEquivalentClasses(HCIStudent), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesHCIStudent() {
equal(reasoner.getDisjointClasses(HCIStudent), owlThing, Student,
PhoneBook, CS_Student, UniversityPhoneBook, ResearchArea,
TeachingFaculty, Department, Person, Professor, EE_Course,
Faculty, EE_Library, assistantProfessor, aiStudent, aiDept,
CS_Department, HCIStudent, CS_StudentTakingCourses,
LecturerTaking4Courses, Lecturer, owlNothing, CS_Course,
CS_Library, EE_Department, ProfessorInHCIorAI,
FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetSubClassesPersonfalse() {
equal(reasoner.getSubClasses(Person, false), Student, Faculty,
CS_Student, assistantProfessor, aiStudent, aiDept,
CS_Department, HCIStudent, CS_StudentTakingCourses,
LecturerTaking4Courses, Lecturer, owlNothing, CS_Course,
TeachingFaculty, ProfessorInHCIorAI, Professor);
}
@Test
public void shouldPassgetDisjointClassesPerson() {
equal(reasoner.getDisjointClasses(Person), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesProfessorfalse() {
equal(reasoner.getSubClasses(Professor, false), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course, ProfessorInHCIorAI);
}
@Test
public void shouldPassgetSuperClassesProfessorfalse() {
equal(reasoner.getSuperClasses(Professor, false), owlThing, Faculty,
TeachingFaculty, Person);
}
@Test
public void shouldPassgetSubClassesProfessortrue() {
equal(reasoner.getSubClasses(Professor, true), ProfessorInHCIorAI);
}
@Test
public void shouldPassgetSuperClassesProfessortrue() {
equal(reasoner.getSuperClasses(Professor, true), TeachingFaculty);
}
@Test
public void shouldPassgetEquivalentClassesProfessor() {
equal(reasoner.getEquivalentClasses(Professor), Professor);
}
@Test
public void shouldPassgetDisjointClassesProfessor() {
equal(reasoner.getDisjointClasses(Professor), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesEE_Coursefalse() {
equal(reasoner.getSubClasses(EE_Course, false), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesEE_Coursetrue() {
equal(reasoner.getSubClasses(EE_Course, true), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesEE_Course() {
equal(reasoner.getDisjointClasses(EE_Course), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesFacultyfalse() {
equal(reasoner.getSubClasses(Faculty, false), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course, TeachingFaculty, ProfessorInHCIorAI,
Professor);
}
@Test
public void shouldPassgetDisjointClassesFaculty() {
equal(reasoner.getDisjointClasses(Faculty), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesEE_Libraryfalse() {
equal(reasoner.getSubClasses(EE_Library, false), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesEE_Librarytrue() {
equal(reasoner.getSubClasses(EE_Library, true), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesEE_Library() {
equal(reasoner.getDisjointClasses(EE_Library), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesEE_Departmentfalse() {
equal(reasoner.getSubClasses(EE_Department, false), CS_Library,
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesEE_Department() {
equal(reasoner.getDisjointClasses(EE_Department), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesFacultyPhoneBookfalse() {
equal(reasoner.getSubClasses(FacultyPhoneBook, false),
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesFacultyPhoneBooktrue() {
equal(reasoner.getSubClasses(FacultyPhoneBook, true),
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesFacultyPhoneBook() {
equal(reasoner.getDisjointClasses(FacultyPhoneBook),
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course);
}
@Test
public void shouldPassgetSuperClassesLecturerfalse() {
equal(reasoner.getSuperClasses(Lecturer, false), owlThing, Student,
PhoneBook, UniversityPhoneBook, CS_Student, ResearchArea,
TeachingFaculty, Department, Person, Professor, EE_Course,
Faculty, EE_Library, CS_Library, EE_Department,
ProfessorInHCIorAI, FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetSuperClassesLecturertrue() {
equal(reasoner.getSuperClasses(Lecturer, true), EE_Library, CS_Student,
CS_Library, UniversityPhoneBook, ResearchArea,
ProfessorInHCIorAI, FacultyPhoneBook, EE_Course, Schedule);
}
@Test
public void shouldPassgetEquivalentClassesLecturer() {
equal(reasoner.getEquivalentClasses(Lecturer), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesLecturer() {
equal(reasoner.getDisjointClasses(Lecturer), owlThing, Student,
PhoneBook, CS_Student, UniversityPhoneBook, ResearchArea,
TeachingFaculty, Department, Person, Professor, EE_Course,
Faculty, EE_Library, assistantProfessor, aiStudent, aiDept,
CS_Department, HCIStudent, CS_StudentTakingCourses,
LecturerTaking4Courses, Lecturer, owlNothing, CS_Course,
CS_Library, EE_Department, ProfessorInHCIorAI,
FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetSubClassesLibraryfalse() {
equal(reasoner.getSubClasses(Library, false), EE_Library, CS_Library,
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesLibrary() {
equal(reasoner.getDisjointClasses(Library), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSuperClassesLecturerTaking4Coursesfalse() {
equal(reasoner.getSuperClasses(LecturerTaking4Courses, false),
owlThing, Student, PhoneBook, UniversityPhoneBook, CS_Student,
ResearchArea, TeachingFaculty, Department, Person, Professor,
EE_Course, Faculty, EE_Library, CS_Library, EE_Department,
ProfessorInHCIorAI, FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetSuperClassesLecturerTaking4Coursestrue() {
equal(reasoner.getSuperClasses(LecturerTaking4Courses, true),
EE_Library, CS_Student, CS_Library, UniversityPhoneBook,
ResearchArea, ProfessorInHCIorAI, FacultyPhoneBook, EE_Course,
Schedule);
}
@Test
public void shouldPassgetEquivalentClassesLecturerTaking4Courses() {
equal(reasoner.getEquivalentClasses(LecturerTaking4Courses),
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesLecturerTaking4Courses() {
equal(reasoner.getDisjointClasses(LecturerTaking4Courses), owlThing,
Student, PhoneBook, CS_Student, UniversityPhoneBook,
ResearchArea, TeachingFaculty, Department, Person, Professor,
EE_Course, Faculty, EE_Library, assistantProfessor, aiStudent,
aiDept, CS_Department, HCIStudent, CS_StudentTakingCourses,
LecturerTaking4Courses, Lecturer, owlNothing, CS_Course,
CS_Library, EE_Department, ProfessorInHCIorAI,
FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetSubClassesSchedulefalse() {
equal(reasoner.getSubClasses(Schedule, false), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesScheduletrue() {
equal(reasoner.getSubClasses(Schedule, true), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesSchedule() {
equal(reasoner.getDisjointClasses(Schedule), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSuperClassesassistantProfessorfalse() {
equal(reasoner.getSuperClasses(assistantProfessor, false), owlThing,
Student, PhoneBook, UniversityPhoneBook, CS_Student,
ResearchArea, TeachingFaculty, Department, Person, Professor,
EE_Course, Faculty, EE_Library, CS_Library, EE_Department,
ProfessorInHCIorAI, FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetSuperClassesassistantProfessortrue() {
equal(reasoner.getSuperClasses(assistantProfessor, true), EE_Library,
CS_Student, CS_Library, UniversityPhoneBook, ResearchArea,
ProfessorInHCIorAI, FacultyPhoneBook, EE_Course, Schedule);
}
@Test
public void shouldPassgetEquivalentClassesassistantProfessor() {
equal(reasoner.getEquivalentClasses(assistantProfessor),
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesassistantProfessor() {
equal(reasoner.getDisjointClasses(assistantProfessor), owlThing,
Student, PhoneBook, CS_Student, UniversityPhoneBook,
ResearchArea, TeachingFaculty, Department, Person, Professor,
EE_Course, Faculty, EE_Library, assistantProfessor, aiStudent,
aiDept, CS_Department, HCIStudent, CS_StudentTakingCourses,
LecturerTaking4Courses, Lecturer, owlNothing, CS_Course,
CS_Library, EE_Department, ProfessorInHCIorAI,
FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetSubClassesStudentfalse() {
equal(reasoner.getSubClasses(Student, false), CS_Student,
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesStudent() {
equal(reasoner.getDisjointClasses(Student), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesPhoneBookfalse() {
equal(reasoner.getSubClasses(PhoneBook, false), UniversityPhoneBook,
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course, FacultyPhoneBook);
}
@Test
public void shouldPassgetDisjointClassesPhoneBook() {
equal(reasoner.getDisjointClasses(PhoneBook), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSuperClassesaiDeptfalse() {
equal(reasoner.getSuperClasses(aiDept, false), owlThing, Student,
PhoneBook, UniversityPhoneBook, CS_Student, ResearchArea,
TeachingFaculty, Department, Person, Professor, EE_Course,
Faculty, EE_Library, CS_Library, EE_Department,
ProfessorInHCIorAI, FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetSuperClassesaiDepttrue() {
equal(reasoner.getSuperClasses(aiDept, true), EE_Library, CS_Student,
CS_Library, UniversityPhoneBook, ResearchArea,
ProfessorInHCIorAI, FacultyPhoneBook, EE_Course, Schedule);
}
@Test
public void shouldPassgetEquivalentClassesaiDept() {
equal(reasoner.getEquivalentClasses(aiDept), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesaiDept() {
equal(reasoner.getDisjointClasses(aiDept), owlThing, Student,
PhoneBook, CS_Student, UniversityPhoneBook, ResearchArea,
TeachingFaculty, Department, Person, Professor, EE_Course,
Faculty, EE_Library, assistantProfessor, aiStudent, aiDept,
CS_Department, HCIStudent, CS_StudentTakingCourses,
LecturerTaking4Courses, Lecturer, owlNothing, CS_Course,
CS_Library, EE_Department, ProfessorInHCIorAI,
FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetSuperClassesCS_Departmentfalse() {
equal(reasoner.getSuperClasses(CS_Department, false), owlThing,
Student, PhoneBook, UniversityPhoneBook, CS_Student,
ResearchArea, TeachingFaculty, Department, Person, Professor,
EE_Course, Faculty, EE_Library, CS_Library, EE_Department,
ProfessorInHCIorAI, FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetSuperClassesCS_Departmenttrue() {
equal(reasoner.getSuperClasses(CS_Department, true), EE_Library,
CS_Student, CS_Library, UniversityPhoneBook, ResearchArea,
ProfessorInHCIorAI, FacultyPhoneBook, EE_Course, Schedule);
}
@Test
public void shouldPassgetEquivalentClassesCS_Department() {
equal(reasoner.getEquivalentClasses(CS_Department), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesCS_Department() {
equal(reasoner.getDisjointClasses(CS_Department), owlThing, Student,
PhoneBook, CS_Student, UniversityPhoneBook, ResearchArea,
TeachingFaculty, Department, Person, Professor, EE_Course,
Faculty, EE_Library, assistantProfessor, aiStudent, aiDept,
CS_Department, HCIStudent, CS_StudentTakingCourses,
LecturerTaking4Courses, Lecturer, owlNothing, CS_Course,
CS_Library, EE_Department, ProfessorInHCIorAI,
FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetSuperClassesaiStudentfalse() {
equal(reasoner.getSuperClasses(aiStudent, false), owlThing, Student,
PhoneBook, UniversityPhoneBook, CS_Student, ResearchArea,
TeachingFaculty, Department, Person, Professor, EE_Course,
Faculty, EE_Library, CS_Library, EE_Department,
ProfessorInHCIorAI, FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetSuperClassesaiStudenttrue() {
equal(reasoner.getSuperClasses(aiStudent, true), EE_Library,
CS_Student, CS_Library, UniversityPhoneBook, ResearchArea,
ProfessorInHCIorAI, FacultyPhoneBook, EE_Course, Schedule);
}
@Test
public void shouldPassgetEquivalentClassesaiStudent() {
equal(reasoner.getEquivalentClasses(aiStudent), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesaiStudent() {
equal(reasoner.getDisjointClasses(aiStudent), owlThing, Student,
PhoneBook, CS_Student, UniversityPhoneBook, ResearchArea,
TeachingFaculty, Department, Person, Professor, EE_Course,
Faculty, EE_Library, assistantProfessor, aiStudent, aiDept,
CS_Department, HCIStudent, CS_StudentTakingCourses,
LecturerTaking4Courses, Lecturer, owlNothing, CS_Course,
CS_Library, EE_Department, ProfessorInHCIorAI,
FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetSubClassesCS_Libraryfalse() {
equal(reasoner.getSubClasses(CS_Library, false), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesCS_Librarytrue() {
equal(reasoner.getSubClasses(CS_Library, true), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesCS_Library() {
equal(reasoner.getDisjointClasses(CS_Library), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSubClassesProfessorInHCIorAIfalse() {
equal(reasoner.getSubClasses(ProfessorInHCIorAI, false),
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course);
}
@Test
public void shouldPassgetSuperClassesProfessorInHCIorAIfalse() {
equal(reasoner.getSuperClasses(ProfessorInHCIorAI, false), owlThing,
Faculty, TeachingFaculty, Person, Professor);
}
@Test
public void shouldPassgetSubClassesProfessorInHCIorAItrue() {
equal(reasoner.getSubClasses(ProfessorInHCIorAI, true),
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course);
}
@Test
public void shouldPassgetSuperClassesProfessorInHCIorAItrue() {
equal(reasoner.getSuperClasses(ProfessorInHCIorAI, true), Professor);
}
@Test
public void shouldPassgetEquivalentClassesProfessorInHCIorAI() {
equal(reasoner.getEquivalentClasses(ProfessorInHCIorAI),
ProfessorInHCIorAI);
}
@Test
public void shouldPassgetDisjointClassesProfessorInHCIorAI() {
equal(reasoner.getDisjointClasses(ProfessorInHCIorAI),
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course);
}
@Test
public void shouldPassgetSuperClassesCS_StudentTakingCoursesfalse() {
equal(reasoner.getSuperClasses(CS_StudentTakingCourses, false),
owlThing, Student, PhoneBook, UniversityPhoneBook, CS_Student,
ResearchArea, TeachingFaculty, Department, Person, Professor,
EE_Course, Faculty, EE_Library, CS_Library, EE_Department,
ProfessorInHCIorAI, FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetSuperClassesCS_StudentTakingCoursestrue() {
equal(reasoner.getSuperClasses(CS_StudentTakingCourses, true),
EE_Library, CS_Student, CS_Library, UniversityPhoneBook,
ResearchArea, ProfessorInHCIorAI, FacultyPhoneBook, EE_Course,
Schedule);
}
@Test
public void shouldPassgetEquivalentClassesCS_StudentTakingCourses() {
equal(reasoner.getEquivalentClasses(CS_StudentTakingCourses),
assistantProfessor, aiStudent, aiDept, CS_Department,
HCIStudent, CS_StudentTakingCourses, LecturerTaking4Courses,
Lecturer, owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesCS_StudentTakingCourses() {
equal(reasoner.getDisjointClasses(CS_StudentTakingCourses), owlThing,
Student, PhoneBook, CS_Student, UniversityPhoneBook,
ResearchArea, TeachingFaculty, Department, Person, Professor,
EE_Course, Faculty, EE_Library, assistantProfessor, aiStudent,
aiDept, CS_Department, HCIStudent, CS_StudentTakingCourses,
LecturerTaking4Courses, Lecturer, owlNothing, CS_Course,
CS_Library, EE_Department, ProfessorInHCIorAI,
FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetSubClassesCoursefalse() {
equal(reasoner.getSubClasses(Course, false), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course, EE_Course);
}
@Test
public void shouldPassgetDisjointClassesCourse() {
equal(reasoner.getDisjointClasses(Course), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetSuperClassesCS_Coursefalse() {
equal(reasoner.getSuperClasses(CS_Course, false), owlThing, Student,
PhoneBook, UniversityPhoneBook, CS_Student, ResearchArea,
TeachingFaculty, Department, Person, Professor, EE_Course,
Faculty, EE_Library, CS_Library, EE_Department,
ProfessorInHCIorAI, FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetSuperClassesCS_Coursetrue() {
equal(reasoner.getSuperClasses(CS_Course, true), EE_Library,
CS_Student, CS_Library, UniversityPhoneBook, ResearchArea,
ProfessorInHCIorAI, FacultyPhoneBook, EE_Course, Schedule);
}
@Test
public void shouldPassgetEquivalentClassesCS_Course() {
equal(reasoner.getEquivalentClasses(CS_Course), assistantProfessor,
aiStudent, aiDept, CS_Department, HCIStudent,
CS_StudentTakingCourses, LecturerTaking4Courses, Lecturer,
owlNothing, CS_Course);
}
@Test
public void shouldPassgetDisjointClassesCS_Course() {
equal(reasoner.getDisjointClasses(CS_Course), owlThing, Student,
PhoneBook, CS_Student, UniversityPhoneBook, ResearchArea,
TeachingFaculty, Department, Person, Professor, EE_Course,
Faculty, EE_Library, assistantProfessor, aiStudent, aiDept,
CS_Department, HCIStudent, CS_StudentTakingCourses,
LecturerTaking4Courses, Lecturer, owlNothing, CS_Course,
CS_Library, EE_Department, ProfessorInHCIorAI,
FacultyPhoneBook, Library, Schedule, Course);
}
@Test
public void shouldPassgetSubDataPropertieshasTenurefalse() {
equal(reasoner.getSubDataProperties(hasTenure, false),
bottomDataProperty);
}
@Test
public void shouldPassgetSuperDataPropertieshasTenurefalse() {
equal(reasoner.getSuperDataProperties(hasTenure, false),
topDataProperty);
}
@Test
public void shouldPassgetDataPropertyDomainshasTenurefalse() {
equal(reasoner.getDataPropertyDomains(hasTenure, false), owlThing,
Faculty, TeachingFaculty, Person);
}
@Test
public void shouldPassProfessorSubClassOfhasTenureTrue() {
OWLClassExpression c = df.getOWLDataSomeValuesFrom(hasTenure,
df.getOWLDataOneOf(df.getOWLLiteral(true)));
assertTrue(reasoner.isEntailed(df.getOWLSubClassOfAxiom(Professor, c)));
equal(reasoner.getSuperClasses(c, false), owlThing, Faculty,
TeachingFaculty, Person);
}
@Test
public void shouldPassgetSubDataPropertieshasTenuretrue() {
equal(reasoner.getSubDataProperties(hasTenure, true),
bottomDataProperty);
}
@Test
public void shouldPassgetSuperDataPropertieshasTenuretrue() {
equal(reasoner.getSuperDataProperties(hasTenure, true), topDataProperty);
}
@Test
public void shouldPassgetDataPropertyDomainshasTenuretrue() {
equal(reasoner.getDataPropertyDomains(hasTenure, true), TeachingFaculty);
}
}