@@ -55,8 +55,7 @@ describe('add or insert to heap', function(){
5555 binaryHeap . insert ( 1 ) ;
5656 binaryHeap . insert ( 1 ) ;
5757 binaryHeap . insert ( 1 ) ;
58- } catch ( e ) {
59- }
58+ } catch ( e ) { }
6059 binaryHeap . size ( ) . should . equal ( 3 ) ;
6160 } ) ;
6261} ) ;
@@ -93,14 +92,13 @@ describe('clear method, isEmpty method, isFull method', function() {
9392 binaryHeap . isFull ( ) . should . be . true ;
9493 } ) ;
9594} ) ;
96- /*
9795describe ( 'pop method' , function ( ) {
9896 it ( 'should success' , function ( ) {
9997 var binaryHeap = new BinaryHeap ( 3 ) ;
10098 binaryHeap . add ( 1 ) ;
10199 binaryHeap . add ( 2 ) ;
102100 binaryHeap . add ( 3 ) ;
103- binaryHeap.pop().should.equal(3 );
101+ binaryHeap . pop ( ) . should . equal ( 1 ) ;
104102 binaryHeap . size ( ) . should . equal ( 2 ) ;
105103 } ) ;
106104} ) ;
@@ -109,11 +107,11 @@ describe('size method, toString method and contains method', function() {
109107 it ( 'should be a number' , function ( ) {
110108 var binaryHeap = new BinaryHeap ( 3 ) ;
111109 binaryHeap . size ( ) . should . equal ( 0 ) ;
112- binaryHeap.add(true );
113- binaryHeap.add('xdf' );
110+ binaryHeap . add ( 1 ) ;
111+ binaryHeap . add ( 2 ) ;
114112 binaryHeap . add ( 3 ) ;
115- binaryHeap.toString().should.equal('[true,"xdf" ,3]');
116- binaryHeap.contains(true ).should.be.true;
113+ binaryHeap . toString ( ) . should . equal ( '[1,2 ,3]' ) ;
114+ binaryHeap . contains ( 1 ) . should . be . true ;
117115 binaryHeap . contains ( 0 ) . should . be . false ;
118116 } ) ;
119117} ) ;
@@ -135,16 +133,27 @@ describe('grow method', function() {
135133 binaryHeap . add ( 2 ) ;
136134 binaryHeap . add ( 3 ) ;
137135 binaryHeap . add ( 4 ) ;
138- }catch(e) {
139- }
136+ } catch ( e ) { }
140137 binaryHeap . size ( ) . should . equal ( 3 ) ;
141138 binaryHeap . grow ( ) ;
142139 try {
143140 binaryHeap . add ( 4 ) ;
144141 binaryHeap . add ( 5 ) ;
145- }catch(e) {
146- }
142+ } catch ( e ) { }
147143 binaryHeap . size ( ) . should . equal ( 4 ) ;
148144 } ) ;
149145} ) ;
150- */
146+
147+ describe ( 'main function' , function ( ) {
148+ it ( 'pop should success' , function ( ) {
149+ var binaryHeap = new BinaryHeap ( ) ;
150+ var arr = [ 5 , 4 , 3 , 2 , 1 ] ;
151+ arr . forEach ( function ( i ) {
152+ binaryHeap . add ( i ) ;
153+ } ) ;
154+ binaryHeap . list . toString ( ) . should . equal ( '1,2,4,5,3' ) ;
155+ var result = [ ] ;
156+ while ( binaryHeap . size ( ) > 0 ) result . push ( binaryHeap . pop ( ) ) ;
157+ result . toString ( ) . should . equal ( arr . reverse ( ) . toString ( ) ) ;
158+ } ) ;
159+ } ) ;
0 commit comments