orx_split_vec/common_traits/
debug.rs1use crate::{Growth, SplitVec};
2use core::fmt::Debug;
3use orx_pinned_vec::PinnedVec;
4
5impl<T, G> Debug for SplitVec<T, G>
6where
7 T: Debug,
8 G: Growth,
9{
10 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11 writeln!(
12 f,
13 "SplitVec {{ len: {}, capacity:{}, data: [",
14 self.len(),
15 self.capacity()
16 )?;
17 for frag in &self.fragments {
18 writeln!(f, " {frag:?}")?;
19 }
20 writeln!(f, "] }}")
21 }
22}
23
24#[cfg(test)]
25mod tests {
26 use crate::*;
27 use alloc::format;
28
29 #[test]
30 fn debug() {
31 let mut vec = SplitVec::with_doubling_growth();
32 for i in 0..13 {
33 vec.push(i);
34 }
35
36 let debug_str = format!("{:?}", vec);
37 assert_eq!(
38 "SplitVec { len: 13, capacity:28, data: [\n [0, 1, 2, 3]\n [4, 5, 6, 7, 8, 9, 10, 11]\n [12]\n] }\n",
39 debug_str
40 );
41 }
42}