use std::num::NonZeroUsize;
use std::time::Duration;
use qubit_batch::{
BatchProcessor,
ChunkedBatchProcessor,
SequentialBatchProcessor,
};
use crate::support::TestChunkProcessor;
#[test]
fn test_batch_processor_chunked_accessors() {
let processor = ChunkedBatchProcessor::builder(
TestChunkProcessor::success(),
NonZeroUsize::new(3).expect("non-zero chunk size"),
)
.report_interval(Duration::from_millis(25))
.build();
assert_eq!(processor.chunk_size().get(), 3);
assert_eq!(processor.report_interval(), Duration::from_millis(25));
}
#[test]
fn test_batch_processor_trait_process_derives_count_from_exact_iterator() {
let mut processor = SequentialBatchProcessor::new(|_item: &i32| {});
let result = processor
.process([1, 2, 3])
.expect("array length should be exact");
assert_eq!(result.completed_count(), 3);
assert_eq!(result.processed_count(), 3);
}