@@ -298,6 +298,7 @@ mod tests {
298
298
assert_eq ! ( rand_sample. ind_sample( & mut :: test:: rng( ) ) , ConstRand ( 0 ) ) ;
299
299
}
300
300
#[ test]
301
+ #[ rustfmt_skip]
301
302
fn test_weighted_choice ( ) {
302
303
// this makes assumptions about the internal implementation of
303
304
// WeightedChoice, specifically: it doesn't reorder the items,
@@ -318,133 +319,61 @@ mod tests {
318
319
} }
319
320
}
320
321
321
- t ! ( vec!( Weighted {
322
- weight: 1 ,
323
- item: 10 ,
324
- } ) ,
322
+ t ! ( vec!( vec!( Weighted { weight: 1 , item: 10 } ) ,
325
323
[ 10 ] ) ;
326
324
327
325
// skip some
328
- t ! ( vec!( Weighted {
329
- weight: 0 ,
330
- item: 20 ,
331
- } ,
332
- Weighted {
333
- weight: 2 ,
334
- item: 21 ,
335
- } ,
336
- Weighted {
337
- weight: 0 ,
338
- item: 22 ,
339
- } ,
340
- Weighted {
341
- weight: 1 ,
342
- item: 23 ,
343
- } ) ,
326
+ t!( vec!( Weighted { weight: 0 , item: 20 } ,
327
+ Weighted { weight: 2 , item: 21 } ,
328
+ Weighted { weight: 0 , item: 22 } ,
329
+ Weighted { weight: 1 , item: 23 } ) ,
344
330
[ 21 , 21 , 23 ] ) ;
345
331
346
332
// different weights
347
- t ! ( vec!( Weighted {
348
- weight: 4 ,
349
- item: 30 ,
350
- } ,
351
- Weighted {
352
- weight: 3 ,
353
- item: 31 ,
354
- } ) ,
333
+ t!( vec!( Weighted { weight: 4 , item: 30 } ,
334
+ Weighted { weight: 3 , item: 31 } ) ,
355
335
[ 30 , 30 , 30 , 30 , 31 , 31 , 31 ] ) ;
356
336
357
337
// check that we're binary searching
358
338
// correctly with some vectors of odd
359
339
// length.
360
- t ! ( vec!( Weighted {
361
- weight: 1 ,
362
- item: 40 ,
363
- } ,
364
- Weighted {
365
- weight: 1 ,
366
- item: 41 ,
367
- } ,
368
- Weighted {
369
- weight: 1 ,
370
- item: 42 ,
371
- } ,
372
- Weighted {
373
- weight: 1 ,
374
- item: 43 ,
375
- } ,
376
- Weighted {
377
- weight: 1 ,
378
- item: 44 ,
379
- } ) ,
340
+ t!( vec!( Weighted { weight: 1 , item: 40 } ,
341
+ Weighted { weight: 1 , item: 41 } ,
342
+ Weighted { weight: 1 , item: 42 } ,
343
+ Weighted { weight: 1 , item: 43 } ,
344
+ Weighted { weight: 1 , item: 44 } ) ,
380
345
[ 40 , 41 , 42 , 43 , 44 ] ) ;
381
- t ! ( vec!( Weighted {
382
- weight: 1 ,
383
- item: 50 ,
384
- } ,
385
- Weighted {
386
- weight: 1 ,
387
- item: 51 ,
388
- } ,
389
- Weighted {
390
- weight: 1 ,
391
- item: 52 ,
392
- } ,
393
- Weighted {
394
- weight: 1 ,
395
- item: 53 ,
396
- } ,
397
- Weighted {
398
- weight: 1 ,
399
- item: 54 ,
400
- } ,
401
- Weighted {
402
- weight: 1 ,
403
- item: 55 ,
404
- } ,
405
- Weighted {
406
- weight: 1 ,
407
- item: 56 ,
408
- } ) ,
346
+ t!( vec!( Weighted { weight: 1 , item: 50 } ,
347
+ Weighted { weight: 1 , item: 51 } ,
348
+ Weighted { weight: 1 , item: 52 } ,
349
+ Weighted { weight: 1 , item: 53 } ,
350
+ Weighted { weight: 1 , item: 54 } ,
351
+ Weighted { weight: 1 , item: 55 } ,
352
+ Weighted { weight: 1 , item: 56 } ) ,
409
353
[ 50 , 51 , 52 , 53 , 54 , 55 , 56 ] ) ;
410
354
}
411
355
412
356
#[ test]
413
357
#[ should_panic]
358
+ #[ rustfmt_skip]
414
359
fn test_weighted_choice_no_items( ) {
415
360
WeightedChoice :: <isize >:: new( & mut [ ] ) ;
416
361
}
417
362
#[ test]
418
363
#[ should_panic]
364
+ #[ rustfmt_skip]
419
365
fn test_weighted_choice_zero_weight( ) {
420
- WeightedChoice :: new ( & mut [ Weighted {
421
- weight : 0 ,
422
- item : 0 ,
423
- } ,
424
- Weighted {
425
- weight : 0 ,
426
- item : 1 ,
427
- } ] ) ;
366
+ WeightedChoice :: new( & mut [ Weighted { weight: 0 , item: 0 } ,
367
+ Weighted { weight: 0 , item: 1 } ] ) ;
428
368
}
429
369
#[ test]
430
370
#[ should_panic]
371
+ #[ rustfmt_skip]
431
372
fn test_weighted_choice_weight_overflows( ) {
432
373
let x = ( !0 ) as usize / 2 ; // x + x + 2 is the overflow
433
- WeightedChoice :: new ( & mut [ Weighted {
434
- weight : x,
435
- item : 0 ,
436
- } ,
437
- Weighted {
438
- weight : 1 ,
439
- item : 1 ,
440
- } ,
441
- Weighted {
442
- weight : x,
443
- item : 2 ,
444
- } ,
445
- Weighted {
446
- weight : 1 ,
447
- item : 3 ,
448
- } ] ) ;
374
+ WeightedChoice :: new( & mut [ Weighted { weight: x, item: 0 } ,
375
+ Weighted { weight: 1 , item: 1 } ,
376
+ Weighted { weight: x, item: 2 } ,
377
+ Weighted { weight: 1 , item: 3 } ] ) ;
449
378
}
450
379
}
0 commit comments