use super::*;
#[test]
fn test_streaming_config_defaults() {
let config = StreamingConfig::default();
assert_eq!(config.prefix_delta_threshold, 0);
assert!(config.prefix_time_threshold.is_none());
}
#[test]
fn test_prefix_debouncer_default_first_only() {
let mut debouncer = PrefixDebouncer::default();
assert!(debouncer.should_show_prefix(true));
assert!(!debouncer.should_show_prefix(false));
assert!(!debouncer.should_show_prefix(false));
assert!(!debouncer.should_show_prefix(false));
}
#[test]
fn test_prefix_debouncer_count_threshold() {
let config = StreamingConfig {
prefix_delta_threshold: 3,
prefix_time_threshold: None,
};
let mut debouncer = PrefixDebouncer::new(config);
assert!(debouncer.should_show_prefix(true));
assert!(!debouncer.should_show_prefix(false)); assert!(!debouncer.should_show_prefix(false));
assert!(debouncer.should_show_prefix(false));
assert!(!debouncer.should_show_prefix(false)); assert!(!debouncer.should_show_prefix(false)); assert!(debouncer.should_show_prefix(false)); }
#[test]
fn test_prefix_debouncer_reset() {
let config = StreamingConfig {
prefix_delta_threshold: 3,
prefix_time_threshold: None,
};
let mut debouncer = PrefixDebouncer::new(config);
debouncer.should_show_prefix(true);
debouncer.should_show_prefix(false);
debouncer.should_show_prefix(false);
debouncer.reset();
assert!(!debouncer.should_show_prefix(false)); assert!(!debouncer.should_show_prefix(false)); assert!(debouncer.should_show_prefix(false)); }
#[test]
fn test_prefix_debouncer_first_delta_always_shows() {
let config = StreamingConfig {
prefix_delta_threshold: 100,
prefix_time_threshold: None,
};
let mut debouncer = PrefixDebouncer::new(config);
assert!(debouncer.should_show_prefix(true));
for _ in 0..10 {
debouncer.should_show_prefix(false);
}
assert!(debouncer.should_show_prefix(true)); }
#[test]
fn test_prefix_debouncer_time_threshold() {
let config = StreamingConfig {
prefix_delta_threshold: 0,
prefix_time_threshold: Some(Duration::ZERO),
};
let mut debouncer = PrefixDebouncer::new(config);
assert!(debouncer.should_show_prefix(true));
assert!(debouncer.should_show_prefix(false));
}