Skip to content

Commit

Permalink
Add tests for extractPath
Browse files Browse the repository at this point in the history
  • Loading branch information
mstou committed Sep 4, 2018
1 parent c2b326e commit 2862de4
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions test/alg/extract-path-tests.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
var expect = require("../chai").expect,
extractPath = require("../..").alg.extractPath;

describe("alg.extractPath", function() {
it("returns weight: 0 and path: [source], from source to source", function() {
var shortestPaths = {
"a": { distance: 0 },
"b": { distance: 73, predecessor: "a" }
};
expect(extractPath(shortestPaths, "a", "a")).to.eql(
{ weight: 0,
path: ["a"]
});
});

it("returns weight and path from source to destination", function() {
var shortestPaths = {
"a": { distance: 0 },
"b": { distance: 25, predecessor: "a" },
"c": { distance: 55, predecessor: "b" },
"d": { distance: 44, predecessor: "b" },
"e": { distance: 73, predecessor: "c" },
"f": { distance: 65, predecessor: "d" },
"g": { distance: 67, predecessor: "b" },
};
expect(extractPath(shortestPaths, "a", "e")).to.eql(
{ weight: 73,
path: ["a", "b", "c", "e"]
});
});

it("throws an error when provided with an invalid source vertex", function() {
var shortestPaths = {
"a": { distance: 0 },
"b": { distance: 17, predecessor: "c" },
"c": { distance: 42, predecessor: "a" }
};
expect(function() { extractPath(shortestPaths, "b", "c"); }).to.throw();
});

it("throws an error when given an invalid destination vertex", function() {
var shortestPaths = {
"a": { distance: 0 },
"b": { distance: 99, predecessor: "a" },
"c": { distance: 100 }
};
expect(function() { extractPath(shortestPaths, "a", "c"); }).to.throw();
});
});

0 comments on commit 2862de4

Please sign in to comment.