use lib_algorithms::sort::*; #[test] fn test_qsort() { let x: &mut Vec = &mut vec![]; qsort(x); assert_eq!(*x, []); let x: &mut Vec = &mut vec![1]; qsort(x); assert_eq!(*x, [1]); let x: &mut Vec = &mut vec![1, 2]; qsort(x); assert_eq!(*x, [1, 2]); let x: &mut Vec = &mut vec![2, 1]; qsort(x); assert_eq!(*x, [1, 2]); let x: &mut Vec = &mut vec![3, 2, 1]; qsort(x); assert_eq!(*x, [1, 2, 3]); let x: &mut Vec = &mut vec![2, 3, 1]; qsort(x); assert_eq!(*x, [1, 2, 3]); let x: &mut Vec = &mut vec![2, 3, 1, 2]; qsort(x); assert_eq!(*x, [1, 2, 2, 3]); let x: &mut Vec = &mut vec![2, 3, 1, 2, 1]; qsort(x); assert_eq!(*x, [1, 1, 2, 2, 3]); let x: &mut Vec = &mut vec![5, 2, 4, 3, 1, 3, 2]; qsort(x); assert_eq!(*x, [1, 2, 2, 3, 3, 4, 5]); let x: &mut Vec = &mut vec![2, 2, 3, 1, 2, 4, 5, 32, 0, 3, 4, 5, 57, 57, 3, 4, 2, 1, 2]; qsort(x); assert_eq!( *x, [0, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 32, 57, 57] ); let x: &mut Vec = &mut vec![0; 50]; qsort(x); assert_eq!(*x, [0; 50]); let x: &mut Vec = &mut vec![ 2, 2, 3, 1, 2, 4, 5, 32, 0, 3, 4, 5, 57, 57, 3, 4, 2, 1, 2, 2, 2, 3, 1, 2, 4, 5, 32, 0, 3, 4, 5, 57, 57, 3, 4, 2, 1, 2, ]; qsort(x); assert_eq!( *x, [ 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 32, 32, 57, 57, 57, 57 ] ); } #[test] fn test_ssort() { let x: &mut Vec = &mut vec![]; ssort(x); assert_eq!(*x, []); let x: &mut Vec = &mut vec![1]; ssort(x); assert_eq!(*x, [1]); let x: &mut Vec = &mut vec![1, 2]; ssort(x); assert_eq!(*x, [1, 2]); let x: &mut Vec = &mut vec![2, 1]; ssort(x); assert_eq!(*x, [1, 2]); let x: &mut Vec = &mut vec![3, 2, 1]; ssort(x); assert_eq!(*x, [1, 2, 3]); let x: &mut Vec = &mut vec![2, 3, 1]; ssort(x); assert_eq!(*x, [1, 2, 3]); let x: &mut Vec = &mut vec![2, 3, 1, 2]; ssort(x); assert_eq!(*x, [1, 2, 2, 3]); let x: &mut Vec = &mut vec![2, 3, 1, 2, 1]; ssort(x); assert_eq!(*x, [1, 1, 2, 2, 3]); let x: &mut Vec = &mut vec![5, 2, 4, 3, 1, 3, 2]; ssort(x); assert_eq!(*x, [1, 2, 2, 3, 3, 4, 5]); let x: &mut Vec = &mut vec![2, 2, 3, 1, 2, 4, 5, 32, 0, 3, 4, 5, 57, 57, 3, 4, 2, 1, 2]; ssort(x); assert_eq!( *x, [0, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 32, 57, 57] ); let x: &mut Vec = &mut vec![0; 50]; ssort(x); assert_eq!(*x, [0; 50]); let x: &mut Vec = &mut vec![ 2, 2, 3, 1, 2, 4, 5, 32, 0, 3, 4, 5, 57, 57, 3, 4, 2, 1, 2, 2, 2, 3, 1, 2, 4, 5, 32, 0, 3, 4, 5, 57, 57, 3, 4, 2, 1, 2, ]; ssort(x); assert_eq!( *x, [ 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 32, 32, 57, 57, 57, 57 ] ); }