use super::*;
bfs_test!(
single_node_no_edges_empty_seed,
1,
1,
1,
&[],
&[],
&[],
&[],
&[],
vec![]
);
bfs_test!(
single_node_no_edges_with_seed,
1,
1,
1,
&[],
&[],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0)]
);
bfs_test!(
two_nodes_one_edge_seed_first,
1,
2,
1,
&[(0, 0, 1)],
&[],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0), (0, 1, 0)]
);
bfs_test!(
two_nodes_one_edge_seed_second,
1,
2,
1,
&[(0, 0, 1)],
&[],
&[],
&[],
&[(0, 1, 0)],
vec![(0, 1, 0)]
);
bfs_test!(
self_loop_single_node_single_fact,
1,
1,
1,
&[(0, 0, 0)],
&[],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0)]
);
bfs_test!(
self_loop_single_node_two_facts,
1,
1,
2,
&[(0, 0, 0)],
&[],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0)]
);
bfs_test!(
chain_1_node,
1,
1,
1,
&chain_edges(1),
&[],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0)]
);
bfs_test!(
chain_2_nodes,
1,
2,
1,
&chain_edges(2),
&[],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0), (0, 1, 0)]
);
bfs_test!(
chain_3_nodes,
1,
3,
1,
&chain_edges(3),
&[],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0), (0, 1, 0), (0, 2, 0)]
);
bfs_test!(
chain_5_nodes,
1,
5,
1,
&chain_edges(5),
&[],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0), (0, 1, 0), (0, 2, 0), (0, 3, 0), (0, 4, 0)]
);
bfs_test!(
chain_10_nodes,
1,
10,
1,
&chain_edges(10),
&[],
&[],
&[],
&[(0, 0, 0)],
(0..10).map(|b| (0, b, 0)).collect()
);
bfs_test!(
chain_50_nodes,
1,
50,
1,
&chain_edges(50),
&[],
&[],
&[],
&[(0, 0, 0)],
(0..50).map(|b| (0, b, 0)).collect()
);
bfs_test!(
chain_100_nodes,
1,
100,
1,
&chain_edges(100),
&[],
&[],
&[],
&[(0, 0, 0)],
(0..100).map(|b| (0, b, 0)).collect()
);
bfs_test!(
disconnected_two_components_seed_both,
2,
2,
1,
&[(0, 0, 1), (1, 0, 1)],
&[],
&[],
&[],
&[(0, 0, 0), (1, 0, 0)],
vec![(0, 0, 0), (0, 1, 0), (1, 0, 0), (1, 1, 0)]
);
bfs_test!(
disconnected_two_components_seed_one,
2,
2,
1,
&[(0, 0, 1), (1, 0, 1)],
&[],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0), (0, 1, 0)]
);
bfs_test!(
disconnected_three_components,
3,
2,
1,
&[(0, 0, 1), (1, 0, 1), (2, 0, 1)],
&[],
&[],
&[],
&[(0, 0, 0), (2, 0, 0)],
vec![(0, 0, 0), (0, 1, 0), (2, 0, 0), (2, 1, 0)]
);
bfs_test!(
star_3_leaves,
1,
4,
1,
&star_edges(3),
&[],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0), (0, 1, 0), (0, 2, 0), (0, 3, 0)]
);
bfs_test!(
star_5_leaves,
1,
6,
1,
&star_edges(5),
&[],
&[],
&[],
&[(0, 0, 0)],
(0..6).map(|b| (0, b, 0)).collect()
);
bfs_test!(
star_10_leaves,
1,
11,
1,
&star_edges(10),
&[],
&[],
&[],
&[(0, 0, 0)],
(0..11).map(|b| (0, b, 0)).collect()
);
bfs_test!(
star_50_leaves,
1,
51,
1,
&star_edges(50),
&[],
&[],
&[],
&[(0, 0, 0)],
(0..51).map(|b| (0, b, 0)).collect()
);