From 25d837808d070d0baa6c048939db0e8ece3dfa8f Mon Sep 17 00:00:00 2001 From: Rutherther Date: Sat, 1 Nov 2025 10:25:04 +0100 Subject: [PATCH] tests(tsp): adapt to new binarystring -> node permutation implementation --- codes/tsp_hw01/src/tsp.rs | 40 ++++++++++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/codes/tsp_hw01/src/tsp.rs b/codes/tsp_hw01/src/tsp.rs index e1f5f80e4373ca72216157ab4c5aa6b75157c86e..d058081548676eab302aa6e70877826ceece7c38 100644 --- a/codes/tsp_hw01/src/tsp.rs +++ b/codes/tsp_hw01/src/tsp.rs @@ -685,17 +685,27 @@ mod tests { // 6 nodes // length of binary string: 5 + 4 + 3 + 2 + 1 = 15 - let converter = BinaryStringToNodePermutation::new( + let tsp = TSPInstance::new_const( + vec![ + (0.0, 0.0), + (0.0, 0.0), + (0.0, 0.0), + (0.0, 0.0), + (0.0, 0.0), + (0.0, 0.0), + ] + ); + let converter = TSPBinaryStringWrapper::new( + &tsp, U15, U6 - ); + ).unwrap(); let binary_string_ordering = BinaryString::::new(vec![1; 15]); let mut expected_permutation = vec![0, 1, 2, 3, 4, 5]; - expected_permutation.reverse(); - let mut permutation = converter.fit(&binary_string_ordering) + let mut permutation = converter.to_permutation(&binary_string_ordering) .unwrap(); assert_eq!( @@ -706,7 +716,7 @@ mod tests { let binary_string_ordering = BinaryString::::new(vec![0; 15]); expected_permutation.reverse(); - let mut permutation = converter.fit(&binary_string_ordering) + let mut permutation = converter.to_permutation(&binary_string_ordering) .unwrap(); assert_eq!( @@ -714,6 +724,7 @@ mod tests { permutation.permutation.as_mut_slice().to_vec() ) } + #[test] fn test_nontrivial_binary_string_representation() { // x 0 1 2 3 4 5 @@ -735,10 +746,21 @@ mod tests { // 6 nodes // length of binary string: 5 + 4 + 3 + 2 + 1 = 15 - let converter = BinaryStringToNodePermutation::new( + let tsp = TSPInstance::new_const( + vec![ + (0.0, 0.0), + (0.0, 0.0), + (0.0, 0.0), + (0.0, 0.0), + (0.0, 0.0), + (0.0, 0.0), + ] + ); + let converter = TSPBinaryStringWrapper::new( + &tsp, U15, U6 - ); + ).unwrap(); let mut binary_string_ordering = BinaryString::::new(vec![0; 15]); binary_string_ordering.vec[9] = 1; @@ -746,9 +768,9 @@ mod tests { binary_string_ordering.vec[11] = 1; binary_string_ordering.vec[14] = 1; - let expected_permutation = vec![0, 1, 3, 5, 4, 2]; + let expected_permutation = vec![2, 4, 5, 3, 1, 0]; - let mut permutation = converter.fit(&binary_string_ordering) + let mut permutation = converter.to_permutation(&binary_string_ordering) .unwrap(); assert_eq!(