File tree Expand file tree Collapse file tree 2 files changed +11
-1
lines changed Expand file tree Collapse file tree 2 files changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -41,7 +41,7 @@ Graph.prototype.bfs = function* (node) {
4141
4242 queue . add ( node ) ;
4343
44- while ( ! queue . isEmpty ( ) ) {
44+ while ( ! queue . isEmpty ( ) ) {
4545 const current = queue . remove ( ) ;
4646 yield current ;
4747 const adjacents = this . nodes [ current ] || [ ] ;
Original file line number Diff line number Diff line change @@ -51,5 +51,15 @@ describe('Graph', function () {
5151 expect ( bfs . next ( ) . done ) . to . equal ( true ) ;
5252 expect ( bfs . next ( ) . value ) . to . equal ( undefined ) ;
5353 } ) ;
54+
55+ it ( 'should recover from cyclic graphs' , function ( ) {
56+ graph . add ( 3 , 0 ) ;
57+ const bfs = graph . bfs ( 1 ) ;
58+ expect ( bfs . next ( ) . value ) . to . eql ( 1 ) ;
59+ expect ( bfs . next ( ) . value ) . to . eql ( 3 ) ;
60+ expect ( bfs . next ( ) . value ) . to . eql ( 0 ) ;
61+ expect ( bfs . next ( ) . value ) . to . eql ( 2 ) ;
62+ expect ( bfs . next ( ) . done ) . to . equal ( true ) ;
63+ } ) ;
5464 } ) ;
5565} ) ;
You can’t perform that action at this time.
0 commit comments