quorum_set/tree/quorum_tree/
impl_display.rs1use std::fmt;
2
3use super::QuorumTree;
4
5impl<ID> fmt::Display for QuorumTree<ID>
6where ID: Ord + fmt::Display
7{
8 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
9 fmt::Display::fmt(&self.spec, f)
10 }
11}
12
13#[cfg(test)]
14mod tests {
15 use super::QuorumTree;
16 use crate::Node;
17
18 fn id(i: u64) -> Node<u64> {
19 Node::Id(i)
20 }
21
22 #[test]
23 fn test_display_single_line() {
24 let qset = QuorumTree::new(2, [id(3), id(1), id(2)]).unwrap();
25
26 assert_eq!("2/(1,2,3)", qset.to_string());
27 }
28
29 #[test]
30 fn test_display_multiline() {
31 let qset = QuorumTree::new(2, [id(3), id(1), id(2)]).unwrap();
32 let expected = r#"2/(
33 1,
34 2,
35 3,
36)"#;
37
38 assert_eq!(expected, format!("{:#}", qset));
39 }
40}