dist-javascript-algorithms-and-data-structures
Version:
Algorithms and data-structures implemented on JavaScript
33 lines (27 loc) • 1.18 kB
JavaScript
;
var _LinkedList = _interopRequireDefault(require("../../../../data-structures/linked-list/LinkedList"));
var _reverseTraversal = _interopRequireDefault(require("../reverseTraversal"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('reverseTraversal', () => {
it('should traverse linked list in reverse order', () => {
const linkedList = new _LinkedList.default();
linkedList.append(1).append(2).append(3);
const traversedNodeValues = [];
const traversalCallback = nodeValue => {
traversedNodeValues.push(nodeValue);
};
(0, _reverseTraversal.default)(linkedList, traversalCallback);
expect(traversedNodeValues).toEqual([3, 2, 1]);
});
}); // it('should reverse traversal the linked list with callback', () => {
// const linkedList = new LinkedList();
//
// linkedList
// .append(1)
// .append(2)
// .append(3);
//
// expect(linkedList.toString()).toBe('1,2,3');
// expect(linkedList.reverseTraversal(linkedList.head, value => value * 2)).toEqual([6, 4, 2]);
// expect(() => linkedList.reverseTraversal(linkedList.head)).toThrow();
// });