File tree Expand file tree Collapse file tree 4 files changed +22
-20
lines changed Expand file tree Collapse file tree 4 files changed +22
-20
lines changed Original file line number Diff line number Diff line change @@ -956,6 +956,7 @@ mod test {
956
956
}
957
957
}
958
958
959
+ #[ derive( Debug , Clone , Copy ) ]
959
960
struct Item {
960
961
index : usize ,
961
962
value : u32 ,
@@ -995,15 +996,14 @@ mod test {
995
996
. enumerate ( )
996
997
. map ( Item :: from)
997
998
. collect :: < Vec < Item > > ( ) ;
999
+ let mut sorted = xs. clone ( ) ;
1000
+ sorted. sort ( ) ;
1001
+ let sorted = Array1 :: from_vec ( sorted) ;
998
1002
let mut array = Array1 :: from_vec ( xs) ;
999
1003
par_merge_sort ( array. view_mut ( ) , Item :: lt) ;
1000
- for i in 1 ..array. len ( ) {
1001
- let [ a, b] = [ & array[ i - 1 ] , & array[ i] ] ;
1002
- if a. value == b. value {
1003
- assert ! ( a. index < b. index) ;
1004
- } else {
1005
- assert ! ( a. value < b. value) ;
1006
- }
1004
+ for ( a, s) in array. iter ( ) . zip ( & sorted) {
1005
+ assert_eq ! ( a. index, s. index) ;
1006
+ assert_eq ! ( a. value, s. value) ;
1007
1007
}
1008
1008
}
1009
1009
}
Original file line number Diff line number Diff line change @@ -149,10 +149,11 @@ mod test {
149
149
#[ cfg_attr( miri, ignore) ]
150
150
#[ quickcheck]
151
151
fn sorted ( xs : Vec < u32 > ) {
152
+ let mut sorted = xs. clone ( ) ;
153
+ sorted. sort_unstable ( ) ;
154
+ let sorted = Array1 :: from_vec ( sorted) ;
152
155
let mut array = Array1 :: from_vec ( xs) ;
153
156
par_quick_sort ( array. view_mut ( ) , u32:: lt) ;
154
- for i in 1 ..array. len ( ) {
155
- assert ! ( array[ i - 1 ] <= array[ i] ) ;
156
- }
157
+ assert_eq ! ( array, sorted) ;
157
158
}
158
159
}
Original file line number Diff line number Diff line change @@ -132,10 +132,11 @@ mod test {
132
132
133
133
#[ quickcheck]
134
134
fn sorted ( xs : Vec < u32 > ) {
135
+ let mut sorted = xs. clone ( ) ;
136
+ sorted. sort_unstable ( ) ;
137
+ let sorted = Array1 :: from_vec ( sorted) ;
135
138
let mut array = Array1 :: from_vec ( xs) ;
136
139
quick_sort ( array. view_mut ( ) , & mut u32:: lt) ;
137
- for i in 1 ..array. len ( ) {
138
- assert ! ( array[ i - 1 ] <= array[ i] ) ;
139
- }
140
+ assert_eq ! ( array, sorted) ;
140
141
}
141
142
}
Original file line number Diff line number Diff line change @@ -79,6 +79,7 @@ mod test {
79
79
use ndarray:: Array1 ;
80
80
use quickcheck_macros:: quickcheck;
81
81
82
+ #[ derive( Debug , Clone , Copy ) ]
82
83
struct Item {
83
84
index : usize ,
84
85
value : u32 ,
@@ -117,15 +118,14 @@ mod test {
117
118
. enumerate ( )
118
119
. map ( Item :: from)
119
120
. collect :: < Vec < Item > > ( ) ;
121
+ let mut sorted = xs. clone ( ) ;
122
+ sorted. sort ( ) ;
123
+ let sorted = Array1 :: from_vec ( sorted) ;
120
124
let mut array = Array1 :: from_vec ( xs) ;
121
125
stable_sort ( array. view_mut ( ) , & mut Item :: lt) ;
122
- for i in 1 ..array. len ( ) {
123
- let [ a, b] = [ & array[ i - 1 ] , & array[ i] ] ;
124
- if a. value == b. value {
125
- assert ! ( a. index < b. index) ;
126
- } else {
127
- assert ! ( a. value < b. value) ;
128
- }
126
+ for ( a, s) in array. iter ( ) . zip ( & sorted) {
127
+ assert_eq ! ( a. index, s. index) ;
128
+ assert_eq ! ( a. value, s. value) ;
129
129
}
130
130
}
131
131
}
You can’t perform that action at this time.
0 commit comments