Code coverage report for spec/dataStructures/linkedList.two.spec.js

Statements: 100% (63 / 63)      Branches: 100% (0 / 0)      Functions: 100% (24 / 24)      Lines: 100% (63 / 63)      Ignored: none     

All files » spec/dataStructures/ » linkedList.two.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 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 1151   1 1 1 1   1 5 5 5       1 5     1 1     1 1     1 1     1 1     1 1       1 1 1 1   1 5 5 5 5       1 5     1 1     1 1     1 1     1 1     1 1       1 1 1 1   1 5 5 5 5       1 5     1 1     1 1     1 1     1 1     1 1      
var LinkedList = require("../../lib/dataStructures/linkedList.js");
 
describe('When adding two elements to a linked list', function () {
	var list;
	var testValue1 = "test_string1"
	var testValue2 = "test_string2"
 
	beforeEach(function() {
		list = new LinkedList();
		list.add(testValue1);
		list.add(testValue2);
 
	});
 
	afterEach(function() {
		list = null;
	});
 
	it('the lists length should be 2', function () {
		expect(list.length).toBe(2);
	});
 
	it('the start element should contain the 1st value.', function () {
		expect(list.start.data).toBe(testValue1);
	});
 
	it('the end element should contain the 2nd value.', function () {
		expect(list.end.data).toBe(testValue2);
	});
 
	it('the start next pointer should be point to the 2nd value node.', function () {
		expect(list.start.next.data).toBe(testValue2);
	});
 
	it('the end next pointer should be null.', function () {
		expect(list.end.next).toBe(null);
	});
});
 
describe('When adding two elements to a linked list and then removing the 1st element', function () {
	var list;
	var testValue1 = "test_string1"
	var testValue2 = "test_string2"
 
	beforeEach(function() {
		list = new LinkedList();
		list.add(testValue1);
		list.add(testValue2);
		list.remove(testValue1);
 
	});
 
	afterEach(function() {
		list = null;
	});
 
	it('the lists length should be 1', function () {
		expect(list.length).toBe(1);
	});
 
	it('the start element should contain the 2nd value.', function () {
		expect(list.start.data).toBe(testValue2);
	});
 
	it('the end element should be the same as the start element.', function () {
		expect(list.end).toBe(list.start);
	});
 
	it('the start next pointer should be null.', function () {
		expect(list.start.next).toBe(null);
	});
 
	it('the end next pointer should be null.', function () {
		expect(list.end.next).toBe(null);
	});
});
 
describe('When adding two elements to a linked list and then removing the 2nd element', function () {
	var list;
	var testValue1 = "test_string1"
	var testValue2 = "test_string2"
 
	beforeEach(function() {
		list = new LinkedList();
		list.add(testValue1);
		list.add(testValue2);
		list.remove(testValue2);
 
	});
 
	afterEach(function() {
		list = null;
	});
 
	it('the lists length should be 1', function () {
		expect(list.length).toBe(1);
	});
 
	it('the start element should contain the 1st value.', function () {
		expect(list.start.data).toBe(testValue1);
	});
 
	it('the end element should be the same as the start element.', function () {
		expect(list.end).toBe(list.start);
	});
 
	it('the start next pointer should be null.', function () {
		expect(list.start.next).toBe(null);
	});
 
	it('the end next pointer should be null.', function () {
		expect(list.end.next).toBe(null);
	});
});