~ruther/ctu-fee-eoa

25d837808d070d0baa6c048939db0e8ece3dfa8f — Rutherther a month ago d2cfd7e
tests(tsp): adapt to new binarystring -> node permutation implementation
1 files changed, 31 insertions(+), 9 deletions(-)

M codes/tsp_hw01/src/tsp.rs
M codes/tsp_hw01/src/tsp.rs => codes/tsp_hw01/src/tsp.rs +31 -9
@@ 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!(