equal
deleted
inserted
replaced
222 |
222 |
223 assert_eq!(None, atlas.insert(Size::square(20))); |
223 assert_eq!(None, atlas.insert(Size::square(20))); |
224 |
224 |
225 let rect_size = Size::new(11, 3); |
225 let rect_size = Size::new(11, 3); |
226 let rect = atlas.insert(rect_size).unwrap(); |
226 let rect = atlas.insert(rect_size).unwrap(); |
227 |
227 |
228 assert_eq!(rect, Rect::at_origin(rect_size)); |
228 assert_eq!(rect, Rect::at_origin(rect_size)); |
229 assert_eq!(2, atlas.free_rects.len()); |
229 assert_eq!(2, atlas.free_rects.len()); |
230 } |
230 } |
231 |
231 |
232 #[derive(Debug, Clone)] |
232 #[derive(Debug, Clone)] |
272 } |
272 } |
273 |
273 |
274 proptest! { |
274 proptest! { |
275 #[test] |
275 #[test] |
276 fn prop_insert(rects in Vec::<TestRect>::arbitrary()) { |
276 fn prop_insert(rects in Vec::<TestRect>::arbitrary()) { |
277 let mut atlas = Atlas::new(Size::square(2048)); |
277 let container = Rect::at_origin(Size::square(2048)); |
278 let inserted: Vec<_> = rects.iter().take_while(|TestRect(size)| atlas.insert(*size).is_some()).cloned().collect(); |
278 let mut atlas = Atlas::new(container.size()); |
279 |
279 let inserted: Vec<_> = rects.iter().filter_map(|TestRect(size)| atlas.insert(*size)).collect(); |
280 assert_eq!(inserted.len(), atlas.used_rects.len()); |
280 |
281 assert_eq!(sum_area(&inserted), sum_area(&atlas.used_rects)); |
281 assert!(inserted.iter().all(|r| container.contains_rect(r))); |
282 } |
282 |
283 } |
283 assert_eq!(inserted.len(), rects.len()); |
284 } |
284 assert_eq!(sum_area(&inserted), sum_area(&rects)); |
|
285 } |
|
286 } |
|
287 } |