@@ 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::<U15>::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::<U15>::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::<U15>::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!(