UNPKG

raptor-journey-planner

Version:

Implementation of the Round bAsed Public Transit Optimized Router (Raptor) journey planning algorithm.

56 lines (55 loc) 2.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const chai = require("chai"); const util_1 = require("../util"); const RaptorAlgorithmFactory_1 = require("../../../src/raptor/RaptorAlgorithmFactory"); const JourneyFactory_1 = require("../../../src/results/JourneyFactory"); const MultipleCriteriaFilter_1 = require("../../../src/results/filter/MultipleCriteriaFilter"); const GroupStationDepartAfterQuery_1 = require("../../../src/query/GroupStationDepartAfterQuery"); describe("GroupStationDepartAfterQuery", () => { const journeyFactory = new JourneyFactory_1.JourneyFactory(); const filters = [new MultipleCriteriaFilter_1.MultipleCriteriaFilter()]; it("plans to multiple destinations", () => { const trips = [ (0, util_1.t)((0, util_1.st)("A", null, 1000), (0, util_1.st)("B", 1030, 1035), (0, util_1.st)("C", 1100, null)), (0, util_1.t)((0, util_1.st)("A", null, 1200), (0, util_1.st)("B", 1230, 1235), (0, util_1.st)("D", 1300, null)) ]; const raptor = RaptorAlgorithmFactory_1.RaptorAlgorithmFactory.create(trips, {}, {}); const query = new GroupStationDepartAfterQuery_1.GroupStationDepartAfterQuery(raptor, journeyFactory, 1, filters); const result = query.plan(["A"], ["C", "D"], new Date("2019-04-18"), 900); (0, util_1.setDefaultTrip)(result); chai.expect(result).to.deep.equal([ (0, util_1.j)([ (0, util_1.st)("A", null, 1000), (0, util_1.st)("B", 1030, 1035), (0, util_1.st)("C", 1100, null) ]), (0, util_1.j)([ (0, util_1.st)("A", null, 1200), (0, util_1.st)("B", 1230, 1235), (0, util_1.st)("D", 1300, null) ]) ]); }); it("plans from multiple origins", () => { const trips = [ (0, util_1.t)((0, util_1.st)("A", null, 1000), (0, util_1.st)("B", 1030, 1035), (0, util_1.st)("C", 1100, null)), (0, util_1.t)((0, util_1.st)("A", null, 1200), (0, util_1.st)("_", 1230, 1235), (0, util_1.st)("D", 1300, null)) ]; const raptor = RaptorAlgorithmFactory_1.RaptorAlgorithmFactory.create(trips, {}, {}); const query = new GroupStationDepartAfterQuery_1.GroupStationDepartAfterQuery(raptor, journeyFactory, 1, filters); const result = query.plan(["A", "B"], ["C", "D"], new Date("2019-04-18"), 900); (0, util_1.setDefaultTrip)(result); chai.expect(result).to.deep.equal([ (0, util_1.j)([ (0, util_1.st)("B", 1030, 1035), (0, util_1.st)("C", 1100, null) ]), (0, util_1.j)([ (0, util_1.st)("A", null, 1200), (0, util_1.st)("_", 1230, 1235), (0, util_1.st)("D", 1300, null) ]) ]); }); });