jagua_rs/probs/spp/util/
assertions.rs1use crate::entities::Item;
2use crate::probs::spp::entities::{SPProblem, SPSolution};
3use crate::util::assertions::layouts_match;
4
5pub fn problem_matches_solution(spp: &SPProblem, sol: &SPSolution) -> bool {
6 let SPSolution {
7 strip,
8 layout_snapshot,
9 time_stamp: _,
10 } = sol;
11
12 assert_eq!(*strip, spp.strip);
13 assert_eq!(spp.density(), sol.density(&spp.instance));
14 assert!(layouts_match(&spp.layout, layout_snapshot));
15
16 true
17}
18
19pub fn instance_item_ids_correct(items: &[(Item, usize)]) -> bool {
20 items
21 .iter()
22 .enumerate()
23 .all(|(i, (item, _qty))| item.id == i)
24}