@@ -96,7 +96,7 @@ it("quantileIndex(array, p) returns the index", () => {
9696 assert . deepStrictEqual ( quantileIndex ( [ 1 , 3 , 2 ] , 0.2 ) , 0 ) ;
9797 assert . deepStrictEqual ( quantileIndex ( [ 2 , 3 , 1 ] , 0.2 ) , 2 ) ;
9898 assert . deepStrictEqual ( quantileIndex ( [ 1 ] , 0.2 ) , 0 ) ;
99- assert . deepStrictEqual ( quantileIndex ( [ ] , 0.2 ) , undefined ) ;
99+ assert . deepStrictEqual ( quantileIndex ( [ ] , 0.2 ) , - 1 ) ;
100100} ) ;
101101
102102it ( "quantileIndex(array, 0) returns the minimum index" , ( ) => {
@@ -105,16 +105,25 @@ it("quantileIndex(array, 0) returns the minimum index", () => {
105105 assert . deepStrictEqual ( quantileIndex ( [ 1 , 3 , 2 ] , 0 ) , 0 ) ;
106106 assert . deepStrictEqual ( quantileIndex ( [ 2 , 3 , 1 ] , 0 ) , 2 ) ;
107107 assert . deepStrictEqual ( quantileIndex ( [ 1 ] , 0 ) , 0 ) ;
108- assert . deepStrictEqual ( quantileIndex ( [ ] , 0 ) , undefined ) ;
108+ assert . deepStrictEqual ( quantileIndex ( [ ] , 0 ) , - 1 ) ;
109109} ) ;
110110
111- it ( "quantileIndex(array, 1) returns the maxium index" , ( ) => {
111+ it ( "quantileIndex(array, 1) returns the maximum index" , ( ) => {
112112 assert . deepStrictEqual ( quantileIndex ( [ 1 , 2 ] , 1 ) , 1 ) ;
113113 assert . deepStrictEqual ( quantileIndex ( [ 1 , 2 , 3 ] , 1 ) , 2 ) ;
114114 assert . deepStrictEqual ( quantileIndex ( [ 1 , 3 , 2 ] , 1 ) , 1 ) ;
115115 assert . deepStrictEqual ( quantileIndex ( [ 2 , 3 , 1 ] , 1 ) , 1 ) ;
116116 assert . deepStrictEqual ( quantileIndex ( [ 1 ] , 1 ) , 0 ) ;
117- assert . deepStrictEqual ( quantileIndex ( [ ] , 1 ) , undefined ) ;
117+ assert . deepStrictEqual ( quantileIndex ( [ ] , 1 ) , - 1 ) ;
118+ } ) ;
119+
120+ it ( "quantileIndex(array, 0.5) handles undefined values" , ( ) => {
121+ assert . deepStrictEqual ( quantileIndex ( [ 1 , 1 , 1 , null , 2 , 3 , 3 , 3 ] , 0.5 ) , 4 ) ;
122+ assert . deepStrictEqual ( quantileIndex ( [ 1 , 1 , 1 , null , 2 , 3 , 3 , 3 ] , 0.5 , ( d ) => d ) , 4 ) ;
123+ } ) ;
124+
125+ it ( "quantileIndex(array, 0.5) returns the first of equivalent values" , ( ) => {
126+ assert . deepStrictEqual ( quantileIndex ( [ 1 , 1 , 1 , 2 , 2 , 3 , 3 , 3 ] , 0.5 ) , 4 ) ;
118127} ) ;
119128
120129function box ( value ) {
0 commit comments