use super::*;
bfs_test!(
no_summaries_empty_inter,
2,
2,
1,
&[(0, 0, 1), (1, 0, 1)],
&[],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0), (0, 1, 0)]
);
bfs_test!(
single_summary_edge,
2,
2,
1,
&[(0, 0, 1)],
&[(0, 1, 1, 0)],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0), (0, 1, 0), (1, 0, 0)]
);
bfs_test!(
multiple_summary_edges,
3,
2,
1,
&[(0, 0, 1), (1, 0, 1), (2, 0, 1)],
&[(0, 1, 1, 0), (0, 1, 2, 0)],
&[],
&[],
&[(0, 0, 0)],
vec![
(0, 0, 0),
(0, 1, 0),
(1, 0, 0),
(1, 1, 0),
(2, 0, 0),
(2, 1, 0)
]
);
bfs_test!(
summary_cross_proc,
2,
2,
1,
&[(0, 0, 1)],
&[(0, 1, 1, 0)],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0), (0, 1, 0), (1, 0, 0)]
);
bfs_test!(
summary_same_proc,
1,
3,
1,
&[(0, 0, 1)],
&[(0, 1, 0, 2)],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0), (0, 1, 0), (0, 2, 0)]
);
bfs_test!(
summary_with_intra,
2,
3,
1,
&[(0, 0, 1), (0, 1, 2), (1, 0, 1)],
&[(0, 2, 1, 0)],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0), (0, 1, 0), (0, 2, 0), (1, 0, 0), (1, 1, 0)]
);
bfs_test!(
summary_only,
2,
1,
1,
&[],
&[(0, 0, 1, 0)],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0), (1, 0, 0)]
);
bfs_test!(
empty_summary_vec_with_intra,
2,
2,
1,
&[(0, 0, 1)],
&[],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0), (0, 1, 0)]
);
bfs_test!(
summary_chain_3_procs,
3,
2,
1,
&[(0, 0, 1), (1, 0, 1), (2, 0, 1)],
&[(0, 1, 1, 0), (1, 1, 2, 0)],
&[],
&[],
&[(0, 0, 0)],
vec![
(0, 0, 0),
(0, 1, 0),
(1, 0, 0),
(1, 1, 0),
(2, 0, 0),
(2, 1, 0)
]
);
bfs_test!(
summary_star,
4,
2,
1,
&[(0, 0, 1)],
&[(0, 1, 1, 0), (0, 1, 2, 0), (0, 1, 3, 0)],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0), (0, 1, 0), (1, 0, 0), (2, 0, 0), (3, 0, 0)]
);
bfs_test!(
summary_cycle,
3,
2,
1,
&[(0, 0, 1), (1, 0, 1), (2, 0, 1)],
&[(0, 1, 1, 0), (1, 1, 2, 0), (2, 1, 0, 0)],
&[],
&[],
&[(0, 0, 0)],
vec![
(0, 0, 0),
(0, 1, 0),
(1, 0, 0),
(1, 1, 0),
(2, 0, 0),
(2, 1, 0)
]
);
bfs_test!(
summary_with_kill_on_target,
2,
2,
1,
&[(0, 0, 1)],
&[(0, 1, 1, 0)],
&[],
&[(1, 0, 0)],
&[(0, 0, 0)],
vec![(0, 0, 0), (0, 1, 0), (1, 0, 0)]
);
bfs_test!(
summary_with_gen_on_target,
2,
2,
2,
&[(0, 0, 1), (1, 0, 1)],
&[(0, 1, 1, 0)],
&[(1, 0, 1)],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0), (0, 1, 0), (1, 0, 0), (1, 1, 0), (1, 1, 1)]
);
bfs_test!(
summary_return_path,
2,
3,
1,
&[(0, 0, 1), (0, 1, 2), (1, 0, 1)],
&[(0, 1, 1, 0), (1, 1, 0, 1)],
&[],
&[],
&[(0, 0, 0)],
vec![(0, 0, 0), (0, 1, 0), (0, 2, 0), (1, 0, 0), (1, 1, 0)]
);