do_memory_core/learning/
stats.rs1#[derive(Debug, Clone, Default)]
7pub struct QueueStats {
8 pub total_enqueued: u64,
10 pub total_processed: u64,
12 pub total_failed: u64,
14 pub current_queue_size: usize,
16 pub active_workers: usize,
18}
19
20#[cfg(test)]
21mod tests {
22 use super::*;
23
24 #[test]
25 fn test_default_stats() {
26 let stats = QueueStats::default();
27 assert_eq!(stats.total_enqueued, 0);
28 assert_eq!(stats.total_processed, 0);
29 assert_eq!(stats.total_failed, 0);
30 assert_eq!(stats.current_queue_size, 0);
31 assert_eq!(stats.active_workers, 0);
32 }
33
34 #[test]
35 fn test_stats_clone() {
36 let stats = QueueStats {
37 total_enqueued: 10,
38 total_processed: 8,
39 total_failed: 2,
40 current_queue_size: 5,
41 active_workers: 4,
42 };
43
44 let cloned = stats.clone();
45 assert_eq!(cloned.total_enqueued, 10);
46 assert_eq!(cloned.total_processed, 8);
47 assert_eq!(cloned.total_failed, 2);
48 assert_eq!(cloned.current_queue_size, 5);
49 assert_eq!(cloned.active_workers, 4);
50 }
51}