1- module . exports = function ( sort , algorithmName ) {
1+ module . exports = function ( sort , algorithmName , options ) {
22
33 'use strict' ;
44
5+ options = options || {
6+ integers : false ,
7+ reverse : true
8+ } ;
9+
510 describe ( algorithmName , function ( ) {
611
7- function createRandomArray ( options ) {
8- options = options || { } ;
9- var size = options . size || 100 ,
10- precision = options . precision || 2 ,
11- multiplier = options . multiplier || 100 ;
12+ function createRandomArray ( config ) {
13+ config = config || { } ;
14+ var size = config . size || 100 ,
15+ precision = config . precision || 2 ,
16+ multiplier = config . multiplier || 100 ;
1217
1318 var result = [ ] ;
1419 for ( var i = size ; i > 0 ; i -= 1 ) {
@@ -27,28 +32,35 @@ module.exports = function (sort, algorithmName) {
2732 } ) ;
2833
2934 it ( 'should work with random non-sorted arrays' , function ( ) {
30-
31- var array = createRandomArray ( ) ;
35+ var array ;
36+ if ( options . integers ) {
37+ array = createRandomArray ( ) ;
38+ } else {
39+ array = createRandomArray ( {
40+ precision : 0
41+ } ) ;
42+ }
3243 sort ( array ) ;
33-
3444 for ( var i = 0 ; i < array . length - 1 ; i += 1 ) {
3545 expect ( array [ i ] <= array [ i + 1 ] ) . toBeTruthy ( ) ;
3646 }
3747 } ) ;
3848
39- it ( 'should sort the numbers in descending order ' +
40- 'when such comparator is provided' , function ( ) {
41- function comparator ( a , b ) {
42- return b - a ;
43- }
49+ if ( options . reverse ) {
50+ it ( 'should sort the numbers in descending order ' +
51+ 'when such comparator is provided' , function ( ) {
52+ function comparator ( a , b ) {
53+ return b - a ;
54+ }
4455
45- var array = createRandomArray ( ) ;
46- sort ( array , comparator ) ;
56+ var array = createRandomArray ( ) ;
57+ sort ( array , comparator ) ;
4758
48- for ( var i = 0 ; i < array . length - 1 ; i += 1 ) {
49- expect ( array [ i ] >= array [ i + 1 ] ) . toBeTruthy ( ) ;
50- }
51- } ) ;
59+ for ( var i = 0 ; i < array . length - 1 ; i += 1 ) {
60+ expect ( array [ i ] >= array [ i + 1 ] ) . toBeTruthy ( ) ;
61+ }
62+ } ) ;
63+ }
5264
5365 } ) ;
5466} ;
0 commit comments