micromap/set/
debug.rs

1// SPDX-FileCopyrightText: Copyright (c) 2023-2025 Yegor Bugayenko
2// SPDX-License-Identifier: MIT
3
4use super::Set;
5use core::fmt::{self, Debug, Formatter};
6
7impl<T: Debug, const N: usize> Debug for Set<T, N> {
8    fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
9        f.debug_set().entries(self.iter()).finish()
10    }
11}
12
13#[cfg(test)]
14mod tests {
15    use super::*;
16
17    #[test]
18    fn debugs_set() {
19        let mut m: Set<String, 10> = Set::new();
20        m.insert("one".to_string());
21        m.insert("two".to_string());
22        assert_eq!(r#"{"one", "two"}"#, format!("{:?}", m));
23    }
24
25    #[test]
26    fn debug_alternate_set() {
27        let mut m: Set<String, 10> = Set::new();
28        m.insert("one".to_string());
29        m.insert("two".to_string());
30        assert_eq!(
31            r#"{
32    "one",
33    "two",
34}"#,
35            format!("{:#?}", m)
36        );
37    }
38}