| 159 | |
| 160 | #[test] |
| 161 | fn degree_of_separation() { |
| 162 | let i = ROUTES; |
| 163 | let symbol = SymbolGraph::new(&i, " ", |nv| Box::new(Graph::from(nv))); |
| 164 | let graph = symbol.G(); |
| 165 | let source = "JFK"; |
| 166 | let sink = "LAS"; |
| 167 | let expect = vec!["JFK", "ORD", "PHX", "LAS"]; |
| 168 | let finder = BreadthFirstPaths::new(graph, symbol.index(source).unwrap()); |
| 169 | assert!(finder.has_path(symbol.index(sink).unwrap())); |
| 170 | let paths = finder.path_to(symbol.index(sink).unwrap()).unwrap(); |
| 171 | let mut path_names = vec![]; |
| 172 | for p in paths { |
| 173 | path_names.push(symbol.name(p).unwrap()); |
| 174 | } |
| 175 | assert_eq!(expect, path_names); |
| 176 | } |
| 177 | |
| 178 | #[test] |
| 179 | fn locate_file() { |