From cab8e17120da81286ea20f990eec468130938541 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Thu, 2 Oct 2025 21:42:51 +0200 Subject: [PATCH] chore: guard test imports by #[cfg(test)] --- env/src/binary_string.rs | 26 ++++++++++++++------------ env/src/fitness/labs.rs | 26 ++++++++++++++------------ env/src/fitness/one_max.rs | 4 +++- env/src/fitness/rosenbrock.rs | 1 + env/src/fitness/sphere.rs | 1 + env/src/local_search/mod.rs | 23 ++++++++++++++++++----- env/src/main.rs | 1 + 7 files changed, 52 insertions(+), 30 deletions(-) diff --git a/env/src/binary_string.rs b/env/src/binary_string.rs index 9aa670da780c2d0e39c84ed4e67e52d1da310112..c48731fc18d63664f489640474fc201d97567a4b 100644 --- a/env/src/binary_string.rs +++ b/env/src/binary_string.rs @@ -1,4 +1,5 @@ use std::str::FromStr; +#[cfg(test)] use crate::test_infra::{load_test_file, DataArrOfReals}; use rand::Rng; @@ -167,6 +168,7 @@ fn test_binary_string_to_real_single() { ); } +#[cfg(test)] fn test_binary_string_to_real(file_name: &str, bounds: Vec) { let data = load_test_file::(file_name); @@ -189,7 +191,7 @@ fn test_binary_string_to_real(file_name: &str, bounds: Vec) { } #[test] -fn test_binary_string_to_real_1D_1() { +fn test_binary_string_to_real_1d_1() { test_binary_string_to_real( "tests/Bin2Real_1D_1.txt", vec![Bounds::new(0.0, 1.0)] @@ -197,7 +199,7 @@ fn test_binary_string_to_real_1D_1() { } #[test] -fn test_binary_string_to_real_1D_2() { +fn test_binary_string_to_real_1d_2() { test_binary_string_to_real( "tests/Bin2Real_1D_2.txt", vec![Bounds::new(0.0, 4095.0)] @@ -205,7 +207,7 @@ fn test_binary_string_to_real_1D_2() { } #[test] -fn test_binary_string_to_real_1D_3() { +fn test_binary_string_to_real_1d_3() { test_binary_string_to_real( "tests/Bin2Real_1D_3.txt", vec![Bounds::new(-5.0, 5.0)] @@ -213,7 +215,7 @@ fn test_binary_string_to_real_1D_3() { } #[test] -fn test_binary_string_to_real_2D_1() { +fn test_binary_string_to_real_2d_1() { test_binary_string_to_real( "tests/Bin2Real_2D_1.txt", vec![Bounds::new(0.0, 1.0), Bounds::new(0.0, 1.0)] @@ -221,7 +223,7 @@ fn test_binary_string_to_real_2D_1() { } #[test] -fn test_binary_string_to_real_2D_2() { +fn test_binary_string_to_real_2d_2() { test_binary_string_to_real( "tests/Bin2Real_2D_2.txt", vec![Bounds::new(0.0, 63.0), Bounds::new(-32.0, 31.0)] @@ -229,7 +231,7 @@ fn test_binary_string_to_real_2D_2() { } #[test] -fn test_binary_string_to_real_2D_3() { +fn test_binary_string_to_real_2d_3() { test_binary_string_to_real( "tests/Bin2Real_2D_3.txt", vec![Bounds::new(-5.0, 5.0), Bounds::new(0.0, 10.0)] @@ -237,7 +239,7 @@ fn test_binary_string_to_real_2D_3() { } #[test] -fn test_binary_string_to_real_3D_1() { +fn test_binary_string_to_real_3d_1() { test_binary_string_to_real( "tests/Bin2Real_3D_1.txt", vec![Bounds::new(0.0, 1.0), Bounds::new(0.0, 1.0), Bounds::new(0.0, 1.0)] @@ -245,7 +247,7 @@ fn test_binary_string_to_real_3D_1() { } #[test] -fn test_binary_string_to_real_3D_2() { +fn test_binary_string_to_real_3d_2() { test_binary_string_to_real( "tests/Bin2Real_3D_2.txt", vec![Bounds::new(0.0, 15.0), Bounds::new(-8.0, 7.0), Bounds::new(-8.0, 8.0)] @@ -253,7 +255,7 @@ fn test_binary_string_to_real_3D_2() { } #[test] -fn test_binary_string_to_real_4D_1() { +fn test_binary_string_to_real_4d_1() { test_binary_string_to_real( "tests/Bin2Real_4D_1.txt", vec![Bounds::new(0.0, 1.0), Bounds::new(0.0, 1.0), Bounds::new(0.0, 1.0), Bounds::new(0.0, 1.0)] @@ -261,7 +263,7 @@ fn test_binary_string_to_real_4D_1() { } #[test] -fn test_binary_string_to_real_4D_2() { +fn test_binary_string_to_real_4d_2() { test_binary_string_to_real( "tests/Bin2Real_4D_2.txt", vec![Bounds::new(0.0, 7.0), Bounds::new(-4.0, 3.0), Bounds::new(-4.0, 4.0), Bounds::new(-8.0, 0.0)] @@ -269,7 +271,7 @@ fn test_binary_string_to_real_4D_2() { } #[test] -fn test_binary_string_to_real_6D_1() { +fn test_binary_string_to_real_6d_1() { test_binary_string_to_real( "tests/Bin2Real_6D_1.txt", vec![Bounds::new(0.0, 1.0), Bounds::new(0.0, 1.0), Bounds::new(0.0, 1.0), Bounds::new(0.0, 1.0), Bounds::new(0.0, 1.0), Bounds::new(0.0, 1.0)] @@ -277,7 +279,7 @@ fn test_binary_string_to_real_6D_1() { } #[test] -fn test_binary_string_to_real_6D_2() { +fn test_binary_string_to_real_6d_2() { test_binary_string_to_real( "tests/Bin2Real_6D_2.txt", (0..=5).map(|x| Bounds::new(x as f64, (2 * (x + 1)) as f64)).collect::>() diff --git a/env/src/fitness/labs.rs b/env/src/fitness/labs.rs index bb1a494bbff0e0595f8d89bdb7122222b4a74ade..930028490b1b1b435cb9857bcb7b01805bc3cd5b 100644 --- a/env/src/fitness/labs.rs +++ b/env/src/fitness/labs.rs @@ -1,19 +1,21 @@ use std::convert::Infallible; -use crate::{binary_string::BinaryString, test_infra::load_test_file}; +#[cfg(test)] +use crate::test_infra::load_test_file; +use crate::binary_string::BinaryString; use super::FitnessFunction; pub struct LABS; impl LABS { - fn new() -> Self { + pub fn new() -> Self { LABS } - fn Ck(k: usize, S: &Vec) -> i32 { - let D = S.len(); - S.iter() - .take(D - k) - .zip(S.iter().skip(k)) + fn ck(k: usize, s: &Vec) -> i32 { + let d = s.len(); + s.iter() + .take(d - k) + .zip(s.iter().skip(k)) .map(|(x, y)| x * y) .sum() } @@ -25,20 +27,20 @@ impl FitnessFunction for LABS { type Err = Infallible; fn fit(self: &Self, chromosome: &BinaryString) -> Result { - let S: Vec = chromosome + let s: Vec = chromosome .into_iter() .map(|c| (*c as i32) * 2 - 1) .collect(); - let D = S.len(); + let d = s.len(); - Ok((1..=D-1) - .map(|k| LABS::Ck(k, &S).pow(2)) + Ok((1..=d-1) + .map(|k| LABS::ck(k, &s).pow(2)) .sum()) } } #[test] -fn test_LABS() { +fn test_labs() { let data = load_test_file::("tests/labs.txt"); for test in data { diff --git a/env/src/fitness/one_max.rs b/env/src/fitness/one_max.rs index b80e3b7d5fa44ad04cf1765f6446df0a40f86073..b8a4fa440a9d4b894ba5f88f05f57795a33ca3a9 100644 --- a/env/src/fitness/one_max.rs +++ b/env/src/fitness/one_max.rs @@ -1,6 +1,8 @@ use std::convert::Infallible; -use crate::{binary_string::BinaryString, test_infra::load_test_file}; +use crate::binary_string::BinaryString; +#[cfg(test)] +use crate::test_infra::load_test_file; use super::FitnessFunction; diff --git a/env/src/fitness/rosenbrock.rs b/env/src/fitness/rosenbrock.rs index e7f9cfda89052305ea2664cff6a6ac620aeded12..19e02775100d13b352aaba162501ac6afe89b2b1 100644 --- a/env/src/fitness/rosenbrock.rs +++ b/env/src/fitness/rosenbrock.rs @@ -1,4 +1,5 @@ use std::convert::Infallible; +#[cfg(test)] use crate::test_infra::load_test_file; use super::FitnessFunction; diff --git a/env/src/fitness/sphere.rs b/env/src/fitness/sphere.rs index ece1f4284848044e1a3bb8dba1645c2a38c78078..afdd38d0b1b7c53123eef1730f8c2d2b4f0fc8c8 100644 --- a/env/src/fitness/sphere.rs +++ b/env/src/fitness/sphere.rs @@ -1,4 +1,5 @@ use std::convert::Infallible; +#[cfg(test)] use crate::test_infra::load_test_file; use super::FitnessFunction; diff --git a/env/src/local_search/mod.rs b/env/src/local_search/mod.rs index 56a00d12c903deeb4bfdc2f1643a72780ca26d51..1ab30c70c85f59ecc0089df56a298790053b3729 100644 --- a/env/src/local_search/mod.rs +++ b/env/src/local_search/mod.rs @@ -1,10 +1,23 @@ -use crate::binary_string::{BinaryString, Bounds}; +use crate::binary_string::BinaryString; +#[cfg(test)] +use crate::binary_string::Bounds; +#[cfg(test)] use crate::fitness::one_max::OneMax; +#[cfg(test)] use crate::fitness::sphere::Sphere; -use crate::terminating::{AndTerminatingConditions, EqualTerminatingCondition, NoBetterForCyclesTerminatingCondition, TerminatingCondition}; -use crate::perturbation::{BinaryStringBitPerturbation, PerturbationOperator}; -use crate::comparison::{BetterThanOperator, MinimizingOperator}; -use crate::fitness::{FitnessFunction, BinaryFitnessWrapper}; +#[cfg(test)] +use crate::terminating::{AndTerminatingConditions, EqualTerminatingCondition, NoBetterForCyclesTerminatingCondition}; +#[cfg(test)] +use crate::perturbation::BinaryStringBitPerturbation; +#[cfg(test)] +use crate::comparison:: MinimizingOperator; +#[cfg(test)] +use crate::fitness::BinaryFitnessWrapper; + +use crate::fitness::FitnessFunction; +use crate::terminating::TerminatingCondition; +use crate::perturbation::PerturbationOperator; +use crate::comparison::BetterThanOperator; // Functions #[derive(Debug, Clone, PartialEq)] diff --git a/env/src/main.rs b/env/src/main.rs index aa951990f06302aab66f6406ca42147d37a460f3..725fbe6defc500d97e77e590678d0845b440ee36 100644 --- a/env/src/main.rs +++ b/env/src/main.rs @@ -5,6 +5,7 @@ pub mod comparison; pub mod local_search; pub mod binary_string; +#[cfg(test)] mod test_infra; fn main() {