Code coverage report for spec/algo/2-linkedLists/addTwoLists.spec.js

Statements: 100% (54 / 54)      Branches: 100% (0 / 0)      Functions: 100% (5 / 5)      Lines: 100% (54 / 54)      Ignored: none     

All files » spec/algo/2-linkedLists/ » addTwoLists.spec.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 701 1   1 1 1 1 1   1 3 3 3 3   3 3 3 3   3 3 3 3   3 3 3 3 3     1 1   1 1 1 1 1 1 1     1 1   1 1 1 1 1 1 1     1 1   1 1 1 1 1 1 1 1 1    
var addTwoLists = require("../../../lib/algorithms/2-linkedLists/addTwoLists.js");
var LinkedList = require("../../../lib/dataStructures/linkedList.js");
 
describe('When using addTwoLists() on two linked lists', function () {
	var oneTwoThree;
	var twoThreeFour;
	var nineNineOne;
	var nineNineOneOne;
 
	beforeEach(function() {
		oneTwoThree = new LinkedList();
		oneTwoThree.add(1);
		oneTwoThree.add(2);
		oneTwoThree.add(3);
 
		twoThreeFour = new LinkedList();
		twoThreeFour.add(2);
		twoThreeFour.add(3);
		twoThreeFour.add(4);
 
		nineNineOne = new LinkedList();
		nineNineOne.add(9);
		nineNineOne.add(9);
		nineNineOne.add(1);
 
		nineNineOneOne = new LinkedList();
		nineNineOneOne.add(9);
		nineNineOneOne.add(9);
		nineNineOneOne.add(1);
		nineNineOneOne.add(1);
	});
 
	it('given 1->2->3 and 2->3->4, 3->5->7 returned.', function () {
		var result = addTwoLists(oneTwoThree.start, twoThreeFour.start);
 
		expect(result.data).toBe(3);
		result = result.next;
		expect(result.data).toBe(5);
		result = result.next;
		expect(result.data).toBe(7);
		result = result.next;
		expect(result.data).toBe(undefined);
	});
 
	it('given 9->9->1 and 2->3->4, 1->3->6 returned.', function () {
		var result = addTwoLists(twoThreeFour.start, nineNineOne.start);
 
		expect(result.data).toBe(1);
		result = result.next;
		expect(result.data).toBe(3);
		result = result.next;
		expect(result.data).toBe(6);
		result = result.next;
		expect(result.data).toBe(undefined);
	});
 
	it('given 9->9->1->1 and 2->3->4, 1->3->6->1 returned.', function () {
		var result = addTwoLists(twoThreeFour.start, nineNineOneOne.start);
 
		expect(result.data).toBe(1);
		result = result.next;
		expect(result.data).toBe(3);
		result = result.next;
		expect(result.data).toBe(6);
		result = result.next;
		expect(result.data).toBe(1);
		result = result.next;
		expect(result.data).toBe(undefined);
	});
});