icentral_mock/
mock_data.rs1crate::ix!();
2
3#[derive(Debug)]
6pub enum GraphMock {
7 PaperZero,
8 Paper,
9 Basic,
10}
11
12pub fn paper_edges_for_dachshund() -> Vec<(usize, usize)> {
13 vec![
14 (0,1),
15 (0,3),
16 (1,2),
17 (2,3),
18 (2,4),
19 (2,7),
20 (3,5),
21 (5,6),
22 ]
23}
24
25impl Named for GraphMock {
26
27 fn name(&self) -> Cow<'_,str> {
28 match self {
29 GraphMock::PaperZero => "paper-zero",
30 GraphMock::Paper => "paper",
31 GraphMock::Basic => "basic",
32 }.into()
33 }
34}
35
36impl GraphMock {
37
38 pub fn fill<G: ConnectNodeIds + InitWithSize>(&self, graph: &mut G) {
39 match self {
40 GraphMock::PaperZero => {
41 debug!("filling graph from GraphMock::PaperZero");
42 graph.init_size(8);
43 graph.connect_nodeids(NodeId::from(0), NodeId::from(1));
44 graph.connect_nodeids(NodeId::from(0), NodeId::from(3));
45 graph.connect_nodeids(NodeId::from(1), NodeId::from(2));
46 graph.connect_nodeids(NodeId::from(2), NodeId::from(3));
47 graph.connect_nodeids(NodeId::from(2), NodeId::from(4));
48 graph.connect_nodeids(NodeId::from(2), NodeId::from(7));
49 graph.connect_nodeids(NodeId::from(3), NodeId::from(5));
50 graph.connect_nodeids(NodeId::from(5), NodeId::from(6));
51 }
52 GraphMock::Paper => {
53 debug!("filling graph from GraphMock::Paper");
54 graph.init_size(9);
55 graph.connect_nodeids(NodeId::from(0), NodeId::from(0));
56 graph.connect_nodeids(NodeId::from(1), NodeId::from(2));
57 graph.connect_nodeids(NodeId::from(1), NodeId::from(4));
58 graph.connect_nodeids(NodeId::from(2), NodeId::from(3));
59 graph.connect_nodeids(NodeId::from(3), NodeId::from(4));
60 graph.connect_nodeids(NodeId::from(3), NodeId::from(5));
61 graph.connect_nodeids(NodeId::from(3), NodeId::from(8));
62 graph.connect_nodeids(NodeId::from(4), NodeId::from(6));
63 graph.connect_nodeids(NodeId::from(6), NodeId::from(7));
64 }
65 GraphMock::Basic => {
66 debug!("filling graph from GraphMock::Basic");
67 graph.init_size(20);
68 graph.connect_nodeids(NodeId::from(0), NodeId::from(1));
69 graph.connect_nodeids(NodeId::from(1), NodeId::from(2));
70 graph.connect_nodeids(NodeId::from(2), NodeId::from(3));
71 graph.connect_nodeids(NodeId::from(3), NodeId::from(0));
72 graph.connect_nodeids(NodeId::from(0), NodeId::from(4));
73 graph.connect_nodeids(NodeId::from(4), NodeId::from(5));
74 graph.connect_nodeids(NodeId::from(5), NodeId::from(6));
75 graph.connect_nodeids(NodeId::from(6), NodeId::from(7));
76 graph.connect_nodeids(NodeId::from(7), NodeId::from(8));
77 graph.connect_nodeids(NodeId::from(8), NodeId::from(4));
78 graph.connect_nodeids(NodeId::from(5), NodeId::from(9));
79 graph.connect_nodeids(NodeId::from(9), NodeId::from(8));
80 graph.connect_nodeids(NodeId::from(3), NodeId::from(10));
81 graph.connect_nodeids(NodeId::from(10), NodeId::from(11));
82 graph.connect_nodeids(NodeId::from(11), NodeId::from(12));
83 graph.connect_nodeids(NodeId::from(12), NodeId::from(13));
84 graph.connect_nodeids(NodeId::from(13), NodeId::from(14));
85 graph.connect_nodeids(NodeId::from(14), NodeId::from(15));
86 graph.connect_nodeids(NodeId::from(15), NodeId::from(10));
87 graph.connect_nodeids(NodeId::from(2), NodeId::from(16));
88 graph.connect_nodeids(NodeId::from(16), NodeId::from(17));
89 graph.connect_nodeids(NodeId::from(17), NodeId::from(18));
90 graph.connect_nodeids(NodeId::from(2), NodeId::from(19));
91 }
92 }
93 }
94}