MCPcopy Create free account
hub / github.com/argumentcomputer/ix / complex_graph

Function complex_graph

crates/compile/src/condense.rs:213–245  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

211
212 #[test]
213 fn complex_graph() {
214 let a = n("A");
215 let b = n("B");
216 let c = n("C");
217 let d = n("D");
218 let e = n("E");
219 let f = n("F");
220 let g = n("G");
221 let h = n("H");
222
223 let graph = map_of(&[
224 (&a, slice::from_ref(&b)),
225 (&b, &[c.clone(), e.clone(), f.clone()]),
226 (&c, &[d.clone(), g.clone()]),
227 (&d, &[c.clone(), h.clone()]),
228 (&e, &[a.clone(), f.clone()]),
229 (&f, slice::from_ref(&g)),
230 (&g, slice::from_ref(&f)),
231 (&h, &[d.clone(), g.clone()]),
232 ]);
233
234 let sccs = compute_sccs(&graph);
235 let mut res = vec![
236 vec![n("A"), n("B"), n("E")],
237 vec![n("C"), n("D"), n("H")],
238 vec![n("F"), n("G")],
239 ];
240 for scc in &mut res {
241 scc.sort();
242 }
243 res.sort();
244 assert_eq!(scc_to_vec(&sccs), res,);
245 }
246}

Callers

nothing calls this directly

Calls 5

map_ofFunction · 0.85
compute_sccsFunction · 0.85
nFunction · 0.70
cloneMethod · 0.45
sortMethod · 0.45

Tested by

no test coverage detected