Code coverage report for spec/dataStructures/minHeap.ten.spec.js

Statements: 100% (30 / 30)      Branches: 100% (0 / 0)      Functions: 100% (8 / 8)      Lines: 100% (30 / 30)      Ignored: none     

All files » spec/dataStructures/ » minHeap.ten.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 491 1   1 1   1 5 5 5 5 5 5 5 5 5 5 5     1 5     1 1     1 1     1 1     1 1   1     1 1 1        
var minHeap = require("../../lib/dataStructures/minHeap.js");
var heapValidator = require("./binaryHeap.Validator.js");
 
describe('When adding ten elements to the min heap', function () {
	var list;
 
	beforeEach(function() {
		list = new minHeap();
		list.add(20);
		list.add(10);
		list.add(100);
		list.add(30);
		list.add(-10);
		list.add(90);
		list.add(70);
		list.add(40);
		list.add(50);
		list.add(60);
	});
 
	afterEach(function() {
		list = null;
	});
 
	it('the minHeap length should by 10', function () {
		expect(list.array.length).toBe(10);
	});
 
	it('the 1st element of the minHeap should be the smallest value of the ten.', function () {
		expect(list.array[0]).toBe(-10);
	});
 
	it('and you remove the head, it should be the smallest element.', function () {
		expect(list.removeHead()).toBe(-10);
	});
 
	it('and you remove the head twice, you should get the two smallest elements.', function () {
		expect(list.removeHead()).toBe(-10);
		//console.log(list.array);
		expect(list.removeHead()).toBe(10);
	});
 
	it('the min heap is valid', function() {
		var validator = new heapValidator(list);
		expect(validator.isValid()).toBe(true);
	});
 
	//todo: add check to actually walk tree and check all relationships
});