@@ -219,14 +219,14 @@ module.exports = perspective => {
219219 row_pivot : [ "x" ]
220220 } ) ;
221221 var answer = [
222- { __ROW_PATH__ : [ ] , x : 4 , y : 4 , z : 2 } ,
222+ { __ROW_PATH__ : [ ] , x : 10 , y : 4 , z : 2 } ,
223223 { __ROW_PATH__ : [ 1 ] , x : 1 , y : 1 , z : 1 } ,
224- { __ROW_PATH__ : [ 2 ] , x : 1 , y : 1 , z : 1 } ,
225- { __ROW_PATH__ : [ 3 ] , x : 1 , y : 1 , z : 1 } ,
226- { __ROW_PATH__ : [ 4 ] , x : 1 , y : 1 , z : 1 }
224+ { __ROW_PATH__ : [ 2 ] , x : 2 , y : 1 , z : 1 } ,
225+ { __ROW_PATH__ : [ 3 ] , x : 3 , y : 1 , z : 1 } ,
226+ { __ROW_PATH__ : [ 4 ] , x : 4 , y : 1 , z : 1 }
227227 ] ;
228228 let result2 = await view . to_json ( ) ;
229- expect ( answer ) . toEqual ( result2 ) ;
229+ expect ( result2 ) . toEqual ( answer ) ;
230230 } ) ;
231231
232232 it ( "['x'] test update pkey column" , async function ( ) {
@@ -312,51 +312,47 @@ module.exports = perspective => {
312312 var view = table . view ( {
313313 row_pivot : [ "z" ]
314314 } ) ;
315- var answer = [ { __ROW_PATH__ : [ ] , x : 4 , y : 4 , z : 2 } , { __ROW_PATH__ : [ false ] , x : 2 , y : 2 , z : 1 } , { __ROW_PATH__ : [ true ] , x : 2 , y : 2 , z : 1 } ] ;
315+ var answer = [ { __ROW_PATH__ : [ ] , x : 10 , y : 4 , z : 2 } , { __ROW_PATH__ : [ false ] , x : 6 , y : 2 , z : 1 } , { __ROW_PATH__ : [ true ] , x : 4 , y : 2 , z : 1 } ] ;
316316 let result2 = await view . to_json ( ) ;
317- expect ( answer ) . toEqual ( result2 ) ;
317+ expect ( result2 ) . toEqual ( answer ) ;
318318 } ) ;
319319
320320 it ( "['x', 'z']" , async function ( ) {
321321 var table = perspective . table ( data ) ;
322322 var view = table . view ( {
323323 row_pivot : [ "x" , "z" ]
324324 } ) ;
325-
326325 var answer = [
327- { __ROW_PATH__ : [ ] , x : 4 , y : 4 , z : 2 } ,
326+ { __ROW_PATH__ : [ ] , x : 10 , y : 4 , z : 2 } ,
328327 { __ROW_PATH__ : [ 1 ] , x : 1 , y : 1 , z : 1 } ,
329328 { __ROW_PATH__ : [ 1 , true ] , x : 1 , y : 1 , z : 1 } ,
330- { __ROW_PATH__ : [ 2 ] , x : 1 , y : 1 , z : 1 } ,
331- { __ROW_PATH__ : [ 2 , false ] , x : 1 , y : 1 , z : 1 } ,
332- { __ROW_PATH__ : [ 3 ] , x : 1 , y : 1 , z : 1 } ,
333- { __ROW_PATH__ : [ 3 , true ] , x : 1 , y : 1 , z : 1 } ,
334- { __ROW_PATH__ : [ 4 ] , x : 1 , y : 1 , z : 1 } ,
335- { __ROW_PATH__ : [ 4 , false ] , x : 1 , y : 1 , z : 1 }
329+ { __ROW_PATH__ : [ 2 ] , x : 2 , y : 1 , z : 1 } ,
330+ { __ROW_PATH__ : [ 2 , false ] , x : 2 , y : 1 , z : 1 } ,
331+ { __ROW_PATH__ : [ 3 ] , x : 3 , y : 1 , z : 1 } ,
332+ { __ROW_PATH__ : [ 3 , true ] , x : 3 , y : 1 , z : 1 } ,
333+ { __ROW_PATH__ : [ 4 ] , x : 4 , y : 1 , z : 1 } ,
334+ { __ROW_PATH__ : [ 4 , false ] , x : 4 , y : 1 , z : 1 }
336335 ] ;
337-
338336 let result2 = await view . to_json ( ) ;
339- expect ( answer ) . toEqual ( result2 ) ;
337+ expect ( result2 ) . toEqual ( answer ) ;
340338 } ) ;
341339
342340 it ( "['x', 'z'] windowed" , async function ( ) {
343341 var table = perspective . table ( data ) ;
344342 var view = table . view ( {
345343 row_pivot : [ "x" , "z" ]
346344 } ) ;
347-
348345 var answer = [
349346 { __ROW_PATH__ : [ 1 , true ] , x : 1 , y : 1 , z : 1 } ,
350- { __ROW_PATH__ : [ 2 ] , x : 1 , y : 1 , z : 1 } ,
351- { __ROW_PATH__ : [ 2 , false ] , x : 1 , y : 1 , z : 1 } ,
352- { __ROW_PATH__ : [ 3 ] , x : 1 , y : 1 , z : 1 } ,
353- { __ROW_PATH__ : [ 3 , true ] , x : 1 , y : 1 , z : 1 } ,
354- { __ROW_PATH__ : [ 4 ] , x : 1 , y : 1 , z : 1 } ,
355- { __ROW_PATH__ : [ 4 , false ] , x : 1 , y : 1 , z : 1 }
347+ { __ROW_PATH__ : [ 2 ] , x : 2 , y : 1 , z : 1 } ,
348+ { __ROW_PATH__ : [ 2 , false ] , x : 2 , y : 1 , z : 1 } ,
349+ { __ROW_PATH__ : [ 3 ] , x : 3 , y : 1 , z : 1 } ,
350+ { __ROW_PATH__ : [ 3 , true ] , x : 3 , y : 1 , z : 1 } ,
351+ { __ROW_PATH__ : [ 4 ] , x : 4 , y : 1 , z : 1 } ,
352+ { __ROW_PATH__ : [ 4 , false ] , x : 4 , y : 1 , z : 1 }
356353 ] ;
357-
358354 let result2 = await view . to_json ( { start_row : 2 } ) ;
359- expect ( answer ) . toEqual ( result2 ) ;
355+ expect ( result2 ) . toEqual ( answer ) ;
360356 } ) ;
361357
362358 it ( "['x', 'z'], pivot_depth = 1" , async function ( ) {
@@ -365,17 +361,15 @@ module.exports = perspective => {
365361 row_pivot : [ "x" , "z" ] ,
366362 row_pivot_depth : 1
367363 } ) ;
368-
369364 var answer = [
370- { __ROW_PATH__ : [ ] , x : 4 , y : 4 , z : 2 } ,
365+ { __ROW_PATH__ : [ ] , x : 10 , y : 4 , z : 2 } ,
371366 { __ROW_PATH__ : [ 1 ] , x : 1 , y : 1 , z : 1 } ,
372- { __ROW_PATH__ : [ 2 ] , x : 1 , y : 1 , z : 1 } ,
373- { __ROW_PATH__ : [ 3 ] , x : 1 , y : 1 , z : 1 } ,
374- { __ROW_PATH__ : [ 4 ] , x : 1 , y : 1 , z : 1 }
367+ { __ROW_PATH__ : [ 2 ] , x : 2 , y : 1 , z : 1 } ,
368+ { __ROW_PATH__ : [ 3 ] , x : 3 , y : 1 , z : 1 } ,
369+ { __ROW_PATH__ : [ 4 ] , x : 4 , y : 1 , z : 1 }
375370 ] ;
376-
377371 let result2 = await view . to_json ( ) ;
378- expect ( answer ) . toEqual ( result2 ) ;
372+ expect ( result2 ) . toEqual ( answer ) ;
379373 } ) ;
380374 } ) ;
381375
@@ -436,21 +430,52 @@ module.exports = perspective => {
436430 expect ( answer ) . toEqual ( result2 ) ;
437431 } ) ;
438432
439- it ( "['x']" , async function ( ) {
433+ it ( "['x'] by ['y'] " , async function ( ) {
440434 var table = perspective . table ( data ) ;
441435 var view = table . view ( {
442436 column_pivot : [ "y" ] ,
443437 row_pivot : [ "x" ]
444438 } ) ;
445439 var answer = [
446- { __ROW_PATH__ : [ ] , "a|x" : 1 , "a|y" : 1 , "a|z" : 1 , "b|x" : 1 , "b|y" : 1 , "b|z" : 1 , "c|x" : 1 , "c|y" : 1 , "c|z" : 1 , "d|x" : 1 , "d|y" : 1 , "d|z" : 1 } ,
440+ { __ROW_PATH__ : [ ] , "a|x" : 1 , "a|y" : 1 , "a|z" : 1 , "b|x" : 2 , "b|y" : 1 , "b|z" : 1 , "c|x" : 3 , "c|y" : 1 , "c|z" : 1 , "d|x" : 4 , "d|y" : 1 , "d|z" : 1 } ,
447441 { __ROW_PATH__ : [ 1 ] , "a|x" : 1 , "a|y" : 1 , "a|z" : 1 , "b|x" : null , "b|y" : null , "b|z" : null , "c|x" : null , "c|y" : null , "c|z" : null , "d|x" : null , "d|y" : null , "d|z" : null } ,
448- { __ROW_PATH__ : [ 2 ] , "a|x" : null , "a|y" : null , "a|z" : null , "b|x" : 1 , "b|y" : 1 , "b|z" : 1 , "c|x" : null , "c|y" : null , "c|z" : null , "d|x" : null , "d|y" : null , "d|z" : null } ,
449- { __ROW_PATH__ : [ 3 ] , "a|x" : null , "a|y" : null , "a|z" : null , "b|x" : null , "b|y" : null , "b|z" : null , "c|x" : 1 , "c|y" : 1 , "c|z" : 1 , "d|x" : null , "d|y" : null , "d|z" : null } ,
450- { __ROW_PATH__ : [ 4 ] , "a|x" : null , "a|y" : null , "a|z" : null , "b|x" : null , "b|y" : null , "b|z" : null , "c|x" : null , "c|y" : null , "c|z" : null , "d|x" : 1 , "d|y" : 1 , "d|z" : 1 }
442+ { __ROW_PATH__ : [ 2 ] , "a|x" : null , "a|y" : null , "a|z" : null , "b|x" : 2 , "b|y" : 1 , "b|z" : 1 , "c|x" : null , "c|y" : null , "c|z" : null , "d|x" : null , "d|y" : null , "d|z" : null } ,
443+ { __ROW_PATH__ : [ 3 ] , "a|x" : null , "a|y" : null , "a|z" : null , "b|x" : null , "b|y" : null , "b|z" : null , "c|x" : 3 , "c|y" : 1 , "c|z" : 1 , "d|x" : null , "d|y" : null , "d|z" : null } ,
444+ { __ROW_PATH__ : [ 4 ] , "a|x" : null , "a|y" : null , "a|z" : null , "b|x" : null , "b|y" : null , "b|z" : null , "c|x" : null , "c|y" : null , "c|z" : null , "d|x" : 4 , "d|y" : 1 , "d|z" : 1 }
451445 ] ;
452446 let result2 = await view . to_json ( ) ;
453- expect ( answer ) . toEqual ( result2 ) ;
447+ expect ( result2 ) . toEqual ( answer ) ;
448+ } ) ;
449+
450+ it ( "['y'] by ['z'], sorted by 'x'" , async function ( ) {
451+ var table = perspective . table ( [
452+ { x : 7 , y : "A" , z : true } ,
453+ { x : 2 , y : "A" , z : false } ,
454+ { x : 5 , y : "A" , z : true } ,
455+ { x : 4 , y : "A" , z : false } ,
456+ { x : 1 , y : "B" , z : true } ,
457+ { x : 8 , y : "B" , z : false } ,
458+ { x : 3 , y : "B" , z : true } ,
459+ { x : 6 , y : "B" , z : false } ,
460+ { x : 9 , y : "C" , z : true } ,
461+ { x : 10 , y : "C" , z : false } ,
462+ { x : 11 , y : "C" , z : true } ,
463+ { x : 12 , y : "C" , z : false }
464+ ] ) ;
465+ var view = table . view ( {
466+ column_pivot : [ "z" ] ,
467+ row_pivot : [ "y" ] ,
468+ sort : [ [ "x" , "desc" ] ]
469+ } ) ;
470+
471+ let answer = [
472+ { __ROW_PATH__ : [ ] , "false|x" : 42 , "false|y" : 3 , "false|z" : 1 , "true|x" : 36 , "true|y" : 3 , "true|z" : 1 } ,
473+ { __ROW_PATH__ : [ "C" ] , "false|x" : 22 , "false|y" : 1 , "false|z" : 1 , "true|x" : 20 , "true|y" : 1 , "true|z" : 1 } ,
474+ { __ROW_PATH__ : [ "A" ] , "false|x" : 6 , "false|y" : 1 , "false|z" : 1 , "true|x" : 12 , "true|y" : 1 , "true|z" : 1 } ,
475+ { __ROW_PATH__ : [ "B" ] , "false|x" : 14 , "false|y" : 1 , "false|z" : 1 , "true|x" : 4 , "true|y" : 1 , "true|z" : 1 }
476+ ] ;
477+ let result2 = await view . to_json ( ) ;
478+ expect ( result2 ) . toEqual ( answer ) ;
454479 } ) ;
455480 } ) ;
456481} ;
0 commit comments