it('should not change edges where the original graph was acyclic', function () {
   g.setEdge('a', 'b', {minlen: 2, weight: 3})
   acyclic.run(g)
   acyclic.undo(g)
   expect(g.edge('a', 'b')).to.eql({minlen: 2, weight: 3})
   expect(g.edges()).to.have.length(1)
 })
 it('should restore previosuly reversed edges', function () {
   g.setEdge('a', 'b', {minlen: 2, weight: 3})
   g.setEdge('b', 'a', {minlen: 3, weight: 4})
   acyclic.run(g)
   acyclic.undo(g)
   expect(g.edge('a', 'b')).to.eql({minlen: 2, weight: 3})
   expect(g.edge('b', 'a')).to.eql({minlen: 3, weight: 4})
   expect(g.edges()).to.have.length(2)
 })