diff --git a/src/interactive/mqtt_history.rs b/src/interactive/mqtt_history.rs index 1e028e2..50caac9 100644 --- a/src/interactive/mqtt_history.rs +++ b/src/interactive/mqtt_history.rs @@ -114,7 +114,11 @@ impl MqttHistory { pub fn count_topics_and_messages_below(&self, topic: &str) -> (usize, usize) { let mut topics: usize = 0; let mut messages: usize = 0; - for (_, id) in self.ids.iter().filter(|(key, _)| key.starts_with(topic)) { + for (_, id) in self + .ids + .iter() + .filter(|(key, _)| is_topic_below(topic, key)) + { let node = self.tree.get(*id).unwrap(); let Topic { history, .. } = node.value(); @@ -245,6 +249,13 @@ fn count_works() { assert_eq!(messages, 2); } +#[test] +fn total_works() { + let example = MqttHistory::example(); + assert_eq!(example.total_topics(), 4); + assert_eq!(example.total_messages(), 5); +} + #[test] fn tree_items_works() { let example = MqttHistory::example();