@@ -484,4 +484,43 @@ describe('Linked-List Tests', () => {
484484 let result = list . toArray ( )
485485 expect ( result . length ) . to . equal ( 0 ) ;
486486 } ) ;
487+
488+ it ( 'should return the first n values of the list' , ( ) => {
489+ let values : number [ ] = [ 4 , 5 , 6 , 7 , 8 , 9 ]
490+ let list = new LinkedList < number > ( ...values ) ;
491+ expect ( list . length ) . to . equal ( 6 ) ;
492+ expect ( list . head ) . to . equal ( 4 ) ;
493+ expect ( list . tail ) . to . equal ( 9 ) ;
494+ let result = list . first ( 3 ) ;
495+ expect ( result . length ) . to . equal ( 3 ) ;
496+ expect ( result [ 0 ] ) . to . equal ( 4 ) ;
497+ expect ( result [ 1 ] ) . to . equal ( 5 ) ;
498+ expect ( result [ 2 ] ) . to . equal ( 6 ) ;
499+ } ) ;
500+
501+ it ( 'should return empty array when n is zero' , ( ) => {
502+ let values : number [ ] = [ 4 , 5 , 6 , 7 , 8 , 9 ]
503+ let list = new LinkedList < number > ( ...values ) ;
504+ expect ( list . length ) . to . equal ( 6 ) ;
505+ expect ( list . head ) . to . equal ( 4 ) ;
506+ expect ( list . tail ) . to . equal ( 9 ) ;
507+ let result = list . first ( 0 ) ;
508+ expect ( result . length ) . to . equal ( 0 ) ;
509+ } ) ;
510+
511+ it ( 'should return the lesser of n values or length of list' , ( ) => {
512+ let values : number [ ] = [ 4 , 5 , 6 , 7 , 8 , 9 ]
513+ let list = new LinkedList < number > ( ...values ) ;
514+ expect ( list . length ) . to . equal ( 6 ) ;
515+ expect ( list . head ) . to . equal ( 4 ) ;
516+ expect ( list . tail ) . to . equal ( 9 ) ;
517+ let result = list . first ( 7 ) ;
518+ expect ( result . length ) . to . equal ( 6 ) ;
519+ expect ( result [ 0 ] ) . to . equal ( 4 ) ;
520+ expect ( result [ 1 ] ) . to . equal ( 5 ) ;
521+ expect ( result [ 2 ] ) . to . equal ( 6 ) ;
522+ expect ( result [ 3 ] ) . to . equal ( 7 ) ;
523+ expect ( result [ 4 ] ) . to . equal ( 8 ) ;
524+ expect ( result [ 5 ] ) . to . equal ( 9 ) ;
525+ } )
487526} ) ;
0 commit comments