pub mod api;
pub mod application;
pub mod domain;
pub use api::{
Boundary, Config, ConfigBuilder, Error as ApiError, Input, Language, Output,
ProcessingMetadata, ProcessingStats, SentenceProcessor,
};
pub use application::{DeltaStackProcessor, DeltaStackResult, ExecutionMode, ProcessorConfig};
pub use domain::*;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_monoid_properties_integration() {
let state1 = PartialState::new(2);
let state2 = PartialState::new(2);
let identity = PartialState::identity();
assert_eq!(
state1.combine(&identity).boundary_candidates.len(),
state1.boundary_candidates.len()
);
let combined1 = state1.combine(&state2);
let combined2 = identity.combine(&combined1);
assert_eq!(
combined2.boundary_candidates.len(),
combined1.boundary_candidates.len()
);
}
#[test]
fn test_domain_module_exports() {
let _monoid_test: PartialState = PartialState::identity();
let _boundary_test = domain::Boundary {
offset: 0,
flags: BoundaryFlags::STRONG,
};
let _delta_test = DeltaEntry::new(0, 0);
let _abbr_test = AbbreviationState::identity();
}
}