REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 2.85 KB
Close
/home/byroehnu/.trash/node_modules11/dijkstrajs/test/dijkstra.test.js
Text
Base64
'use strict'; var expect = require('expect.js'); var dijkstra = require('../dijkstra.js'); var find_path = dijkstra.find_path; describe('dijkstra.js', function () { describe('.find_path()', function () { it('should find the path between two points, all edges have weight 1', function () { // A B C // D E F // G H I var graph = { a: {b: 10, d: 1}, b: {a: 1, c: 1, e: 1}, c: {b: 1, f: 1}, d: {a: 1, e: 1, g: 1}, e: {b: 1, d: 1, f: 1, h: 1}, f: {c: 1, e: 1, i: 1}, g: {d: 1, h: 1}, h: {e: 1, g: 1, i: 1}, i: {f: 1, h: 1} }; var path = find_path(graph, 'a', 'i'); expect(path).to.eql(['a', 'd', 'e', 'f', 'i']); }); it('should find the path between two points, weighted edges', function () { var graph = { a: {b: 10, c: 100, d: 1}, b: {c: 10}, d: {b: 1, e: 1}, e: {f: 1}, f: {c: 1}, g: {b: 1} }; var path = find_path(graph, 'a', 'c'); expect(path).to.eql(['a', 'd', 'e', 'f', 'c']); path = find_path(graph, 'd', 'b'); expect(path).to.eql(['d', 'b']); }); it('should throw on unreachable destination', function () { var graph = { a: {b: 10, c: 100, d: 1}, b: {c: 10}, d: {b: 1, e: 1}, e: {f: 1}, f: {c: 1}, g: {b: 1} }; expect(function () { find_path(graph, 'c', 'a'); }).to.throwException(); expect(function () { find_path(graph, 'a', 'g'); }).to.throwException(); }); it('should throw on non-existent destination', function () { var graph = { a: {b: 10, c: 100, d: 1}, b: {c: 10}, d: {b: 1, e: 1}, e: {f: 1}, f: {c: 1}, g: {b: 1} }; expect(function () { find_path(graph, 'a', 'z'); }).to.throwException(); }); }); describe('.single_source_shortest_paths()', function () { it('should find all paths from a node', function () { var graph = { a: {b: 10, c: 100, d: 1}, b: {c: 10}, d: {b: 1, e: 1}, e: {f: 1}, f: {c: 1}, g: {b: 1} }; // All paths from 'a' var paths = dijkstra.single_source_shortest_paths(graph, 'a'); expect(paths).to.eql({ d: 'a', b: 'd', e: 'd', f: 'e', c: 'f' }); }); }); });
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 1
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
dijkstra.test.js
2.85 KB
lrw-r--r--
2026-02-27 09:44:58
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).