1#![warn(missing_docs)]
24
25mod axiom;
26mod entity;
27mod error;
28mod graph;
29mod iri;
30mod limits;
31mod ontology;
32mod parse_meta;
33mod reasoner;
34mod serialize;
35
36pub use axiom::{Axiom, AxiomId};
37pub use entity::{EntityId, EntityKind, EntityRecord, EntityRegistry};
38pub use error::{Error, Result};
39pub use graph::{AxiomIndex, AxiomStore};
40pub use iri::{InternPool, IriId};
41pub use limits::Limits;
42pub use ontology::{Ontology, OntologyBuilder};
43pub use parse_meta::{OwlConstruct, ParseMeta};
44pub use reasoner::{Profile, Reasoner, ReasonerBuilder, ReasonerConfig};
45
46#[cfg(test)]
47mod integration_tests {
48 use super::*;
49
50 #[test]
51 fn classify_returns_not_implemented() {
52 let ontology = Ontology::default();
53 let mut reasoner = Reasoner::builder()
54 .profile(Profile::El)
55 .build(ontology)
56 .expect("build");
57 assert_eq!(reasoner.classify().unwrap_err(), Error::NotImplemented);
58 assert_eq!(reasoner.ontology().entity_count(), 0);
59 }
60
61 #[test]
62 fn reasoner_rejects_invalid_parallelism() {
63 let ontology = Ontology::default();
64 let err = Reasoner::builder()
65 .config(ReasonerConfig {
66 parallelism: 0,
67 ..ReasonerConfig::default()
68 })
69 .build(ontology)
70 .expect_err("parallelism");
71 assert!(matches!(err, Error::Message(_)));
72 }
73}