403Webshell
Server IP : 54.37.205.81  /  Your IP : 216.73.216.76
Web Server : nginx/1.22.1
System : Linux vps-249481fa 6.1.0-50-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.176-1 (2026-07-02) x86_64
User : debian ( 1000)
PHP Version : 8.2.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/app.copyrightchain.it/copyrightchain_app/node_modules/dijkstrajs/test/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/app.copyrightchain.it/copyrightchain_app/node_modules/dijkstrajs/test/dijkstra.test.js
'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'
            });
        });
    });
});

Youez - 2016 - github.com/yon3zu
LinuXploit