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

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

All files » spec/algo/2-linkedLists/ » palindrome.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 541 1   1 1 1 1     1 3 3 3 3 3 3 3 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    
var palindrome = require("../../../lib/algorithms/2-linkedLists/palindrome.js");
var LinkedList = require("../../../lib/dataStructures/linkedList.js");
 
describe('When using palindrome() on a linked list of integers', function () {
	var validEven;
	var validOdd;
	var invalid;
 
 
	beforeEach(function() {
		validEven = new LinkedList();
		validEven.add(1);
		validEven.add(2);
		validEven.add(3);
		validEven.add(4);
		validEven.add(4);
		validEven.add(3);
		validEven.add(2);
		validEven.add(1);
 
		validOdd = new LinkedList();
		validOdd.add(1);
		validOdd.add(2);
		validOdd.add(3);
		validOdd.add(4);
		validOdd.add(3);
		validOdd.add(2);
		validOdd.add(1);
 
		invalid = new LinkedList();
		invalid.add(1);
		invalid.add(2);
		invalid.add(3);
		invalid.add(4);
		invalid.add(5);
		invalid.add(6);
 
	});
 
	it('given an even number valid palindrome, true will be returned.', function () {
		var result = palindrome(validEven.start);
		expect(result).toBe(true);
	});
 
	it('given an odd number valid palindrome, true will be returned.', function () {
		var result = palindrome(validOdd.start);
		expect(result).toBe(true);
	});
 
	it('given an invalid palindrome, false will be returned.', function () {
		var result = palindrome(invalid.start);
		expect(result).toBe(false);
	});
});