use crate::RedactedText;
use crate::RedactionHandle;
use crate::RedactionHandleError;
use crate::RedactionSummary;
use crate::RedactionTextOutput;
use crate::runtime::BatchPublication;
fn complete_summary() -> RedactionSummary {
RedactionSummary::from_parts(
false,
crate::RedactionCompletion::Complete,
crate::RedactionReasons::empty(),
crate::RedactionUsage::empty(),
)
}
#[test]
fn test_resolve_reports_missing_same_batch_item() {
let output = BatchPublication::new(7, Vec::new(), complete_summary());
assert_eq!(*output.summary(), complete_summary());
assert_eq!(
output.resolve(RedactionHandle::new(7, 0)),
Err(RedactionHandleError::MissingItem)
);
}
#[test]
fn test_resolve_returns_published_batch_item() {
let item = RedactionTextOutput::new(RedactedText::from_escaped("item"), complete_summary());
let output = BatchPublication::new(3, vec![item], complete_summary());
assert_eq!(
output
.resolve(RedactionHandle::new(3, 0))
.expect("matching private handle resolves")
.text()
.as_str(),
"item"
);
}