diff --git a/src/genetic/test.rs b/src/genetic/test.rs index be5c251..af35e51 100644 --- a/src/genetic/test.rs +++ b/src/genetic/test.rs @@ -106,26 +106,11 @@ mod tests { fn basic_algorithm_test() { let towards = 10.0; let test_vec = vec![ - TendUnit { - x: 0.3, - towards: towards, - }, - TendUnit { - x: 0.1, - towards: towards, - }, - TendUnit { - x: 0.7, - towards: towards, - }, - TendUnit { - x: 2.3, - towards: towards, - }, - TendUnit { - x: 4.3, - towards: towards, - }, + TendUnit { x: 0.3, towards }, + TendUnit { x: 0.1, towards }, + TendUnit { x: 0.7, towards }, + TendUnit { x: 2.3, towards }, + TendUnit { x: 4.3, towards }, ]; let best_unit = Population::new(test_vec.clone()) @@ -143,16 +128,7 @@ mod tests { #[test] fn no_survivors_test() { let towards = 10.0; - let test_vec = vec![ - TendUnit { - x: 0.3, - towards: towards, - }, - TendUnit { - x: 0.7, - towards: towards, - }, - ]; + let test_vec = vec![TendUnit { x: 0.3, towards }, TendUnit { x: 0.7, towards }]; let best_unit = Population::new(test_vec.clone()) .set_size(100) diff --git a/src/guillotine.rs b/src/guillotine.rs index 9a24cd6..84bfb60 100644 --- a/src/guillotine.rs +++ b/src/guillotine.rs @@ -820,6 +820,6 @@ mod tests { stock_pieces .iter() - .for_each(|stock_piece| assert!(!bin.matches_stock_piece(&stock_piece))) + .for_each(|stock_piece| assert!(!bin.matches_stock_piece(stock_piece))) } } diff --git a/src/lib.rs b/src/lib.rs index cf72d8e..3580c9c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -29,9 +29,10 @@ use serde::{Deserialize, Serialize}; /// Indicates the linear direction of a pattern, grain, etc. #[cfg_attr(feature = "serialize", derive(Deserialize, Serialize))] #[cfg_attr(feature = "serialize", serde(rename_all = "camelCase"))] -#[derive(Copy, Clone, Debug, Hash, PartialEq, Eq)] +#[derive(Copy, Clone, Debug, Default, Hash, PartialEq, Eq)] pub enum PatternDirection { /// No pattern + #[default] None, /// Linear pattern that runs parallel to the width @@ -52,12 +53,6 @@ impl PatternDirection { } } -impl Default for PatternDirection { - fn default() -> Self { - PatternDirection::None - } -} - /// A rectangular piece that needs to be cut from a stock piece. #[cfg_attr(feature = "serialize", derive(Deserialize, Serialize))] #[cfg_attr(feature = "serialize", serde(rename_all = "camelCase"))] diff --git a/src/maxrects.rs b/src/maxrects.rs index 3770688..6e3c1de 100644 --- a/src/maxrects.rs +++ b/src/maxrects.rs @@ -855,6 +855,6 @@ mod tests { stock_pieces .iter() - .for_each(|stock_piece| assert!(!bin.matches_stock_piece(&stock_piece))) + .for_each(|stock_piece| assert!(!bin.matches_stock_piece(stock_piece))) } } diff --git a/src/tests.rs b/src/tests.rs index 1e89dd4..ce3d3d9 100644 --- a/src/tests.rs +++ b/src/tests.rs @@ -105,8 +105,8 @@ fn sanity_check_solution(solution: &Solution, num_cut_pieces: usize) { #[test] fn guillotine() { let solution = Optimizer::new() - .add_stock_pieces(STOCK_PIECES.iter().cloned().collect::>()) - .add_cut_pieces(CUT_PIECES.iter().cloned().collect::>()) + .add_stock_pieces(STOCK_PIECES.to_vec()) + .add_cut_pieces(CUT_PIECES.to_vec()) .set_cut_width(1) .set_random_seed(1) .optimize_guillotine(|_| {}) @@ -316,7 +316,7 @@ fn guillotine_non_fitting_cut_piece_mismatched_pattern() { #[test] fn guillotine_no_allow_mixed_stock_sizes() { let solution = Optimizer::new() - .add_stock_pieces(STOCK_PIECES.iter().cloned().collect::>()) + .add_stock_pieces(STOCK_PIECES.to_vec()) .add_cut_piece(CutPiece { quantity: 1, external_id: Some(1), @@ -851,8 +851,8 @@ fn guillotine_random_cut_pieces() { #[test] fn nested() { let solution = Optimizer::new() - .add_stock_pieces(STOCK_PIECES.iter().cloned().collect::>()) - .add_cut_pieces(CUT_PIECES.iter().cloned().collect::>()) + .add_stock_pieces(STOCK_PIECES.to_vec()) + .add_cut_pieces(CUT_PIECES.to_vec()) .set_cut_width(1) .set_random_seed(1) .optimize_nested(|_| {}) @@ -1067,7 +1067,7 @@ fn nested_non_fitting_cut_piece_mismatched_pattern() { #[test] fn nested_no_allow_mixed_stock_sizes() { let solution = Optimizer::new() - .add_stock_pieces(STOCK_PIECES.iter().cloned().collect::>()) + .add_stock_pieces(STOCK_PIECES.to_vec()) .add_cut_piece(CutPiece { quantity: 1, external_id: Some(1),