Skip to content

Commit 6690f95

Browse files
补充UT
1 parent 22a5433 commit 6690f95

File tree

2 files changed

+180
-0
lines changed

2 files changed

+180
-0
lines changed
Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
require('../../../src/mapboxgl/services/TrafficTransferAnalystService');
2+
var mapboxgl = require('mapbox-gl');
3+
4+
var url = GlobeParameter.trafficTransferURL;
5+
var options = {
6+
serverType: 'iServer'
7+
};
8+
describe('mapboxgl_TrafficTransferAnalystService', function () {
9+
var serviceResult = null;
10+
var originalTimeout;
11+
beforeEach(function () {
12+
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
13+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
14+
});
15+
afterEach(function () {
16+
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
17+
serviceResult = null;
18+
});
19+
20+
//站点查询服务 返回坐标
21+
it('queryStop_returnPosition:true', function (done) {
22+
var stopQueryParameters = new SuperMap.StopQueryParameters({
23+
keyWord: "人民",
24+
returnPosition: true
25+
});
26+
var service = new mapboxgl.supermap.TrafficTransferAnalystService(url, options);
27+
service.queryStop(stopQueryParameters, function (result) {
28+
serviceResult = result;
29+
expect(service).not.toBeNull();
30+
expect(service.options.serverType).toBe('iServer');
31+
expect(serviceResult).not.toBeNull();
32+
expect(serviceResult.type).toEqual("processCompleted");
33+
expect(serviceResult.result[0].id).toEqual(164);
34+
expect(serviceResult.result[0].name).toEqual("人民广场");
35+
expect(serviceResult.result[0].stopID).toEqual(serviceResult.result[0].id);
36+
expect(serviceResult.result[0].position.x).not.toBeNull();
37+
expect(serviceResult.result[0].position.y).not.toBeNull();
38+
done();
39+
});
40+
}, 10000);
41+
42+
//站点查询服务 不返回坐标
43+
it('queryStop_returnPosition:false', function (done) {
44+
var stopQueryParameters = new SuperMap.StopQueryParameters({
45+
keyWord: "人民",
46+
returnPosition: false
47+
});
48+
var service = new mapboxgl.supermap.TrafficTransferAnalystService(url, options);
49+
service.queryStop(stopQueryParameters, function (result) {
50+
serviceResult = result;
51+
expect(service).not.toBeNull();
52+
expect(service.options.serverType).toBe('iServer');
53+
expect(serviceResult).not.toBeNull();
54+
expect(serviceResult.type).toEqual("processCompleted");
55+
expect(serviceResult.result[0].id).toEqual(164);
56+
expect(serviceResult.result[0].name).toEqual("人民广场");
57+
expect(serviceResult.result[0].stopID).toEqual(serviceResult.result[0].id);
58+
expect(serviceResult.result[0].position).toBeNull();
59+
done();
60+
});
61+
}, 10000);
62+
63+
//交通换乘线路查询服务 按ID进行查询
64+
it('analysisTransferPath_ID', function (done) {
65+
var transferPathParameters = new SuperMap.TransferPathParameters({
66+
points: [175, 164],
67+
transferLines: [{"lineID": 27, "startStopIndex": 7, "endStopIndex": 9}]
68+
});
69+
var service = new mapboxgl.supermap.TrafficTransferAnalystService(url, options);
70+
service.analysisTransferPath(transferPathParameters, function (result) {
71+
serviceResult = result;
72+
expect(service).not.toBeNull();
73+
expect(service.options.serverType).toBe('iServer');
74+
expect(serviceResult).not.toBeNull();
75+
expect(serviceResult.type).toEqual("processCompleted");
76+
expect(serviceResult.result.count).toEqual(2);
77+
var items = serviceResult.result.items;
78+
expect(items.length).toEqual(serviceResult.result.count);
79+
expect(items[0].distance).toEqual(291.00463130468444);
80+
expect(items[0].lineType).toEqual(-1);
81+
expect(items[0].isWalking).toEqual(true);
82+
expect(items[0].endStopName).toEqual("金都饭店");
83+
expect(items[0].startStopName).toEqual("儿童医院");
84+
expect(items[1].distance).toEqual(501.84750942032434);
85+
expect(items[1].endStopName).toEqual("人民广场");
86+
expect(items[1].startStopName).toEqual("金都饭店");
87+
expect(items[1].lineName).toEqual("22路");
88+
expect(items[1].lineType).toEqual(0);
89+
expect(items[1].passStopCount).toEqual(3);
90+
expect(items[1].startIndex).toEqual(7);
91+
expect(items[1].endIndex).toEqual(9);
92+
expect(serviceResult.result.totalDistance).toEqual(792.8521407250088);
93+
expect(serviceResult.result.transferCount).toEqual(0);
94+
done();
95+
});
96+
}, 10000);
97+
98+
//交通换乘线路查询服务 按坐标进行查询
99+
it('analysisTransferPath_position', function (done) {
100+
var transferPathParameters = new SuperMap.TransferPathParameters({
101+
points: [{x: 4941, y: -3566}, {x: 5308, y: -3935}],
102+
transferLines: [{"lineID": 27, "startStopIndex": 7, "endStopIndex": 9}]
103+
});
104+
var service = new mapboxgl.supermap.TrafficTransferAnalystService(url, options);
105+
service.analysisTransferPath(transferPathParameters, function (result) {
106+
serviceResult = result;
107+
expect(service).not.toBeNull();
108+
expect(service.options.serverType).toBe('iServer');
109+
expect(serviceResult).not.toBeNull();
110+
expect(serviceResult.type).toEqual("processCompleted");
111+
expect(serviceResult.result.count).toEqual(2);
112+
var items = serviceResult.result.items;
113+
expect(items.length).toEqual(serviceResult.result.count);
114+
expect(items[0].distance).toEqual(289.5549539610702);
115+
expect(items[0].lineType).toEqual(-1);
116+
expect(items[0].isWalking).toEqual(true);
117+
expect(items[0].endStopName).toEqual("金都饭店");
118+
expect(items[1].distance).toEqual(501.84750942032434);
119+
expect(items[1].endStopName).toEqual("人民广场");
120+
expect(items[1].startStopName).toEqual("金都饭店");
121+
expect(items[1].lineName).toEqual("22路");
122+
expect(items[1].lineType).toEqual(0);
123+
expect(items[1].passStopCount).toEqual(3);
124+
expect(items[1].startIndex).toEqual(7);
125+
expect(items[1].endIndex).toEqual(9);
126+
expect(serviceResult.result.totalDistance).toEqual(796.7259786798306);
127+
expect(serviceResult.result.transferCount).toEqual(0);
128+
done();
129+
});
130+
}, 10000);
131+
132+
//交通换乘方案查询服务
133+
it('analysisTransferSolution', function (done) {
134+
var transferSolutionParameters = new SuperMap.TransferSolutionParameters({
135+
solutionCount: 3,
136+
//交通换乘策略类型: 时间最短、距离最短、最少换乘、最少步行:transferTactic
137+
//乘车偏好枚举:transferPreference
138+
//步行与公交的消耗权重比
139+
walkingRatio: 5,
140+
points: [175, 179]
141+
});
142+
var service = new mapboxgl.supermap.TrafficTransferAnalystService(url, options);
143+
service.analysisTransferSolution(transferSolutionParameters, function (result) {
144+
serviceResult = result;
145+
expect(service).not.toBeNull();
146+
expect(service.options.serverType).toBe('iServer');
147+
expect(serviceResult).not.toBeNull();
148+
expect(serviceResult.type).toEqual("processCompleted");
149+
expect(serviceResult.result.suggestWalking).toEqual(false);
150+
expect(serviceResult.result.defaultGuide.count).toEqual(5);
151+
var items = serviceResult.result.defaultGuide.items;
152+
expect(items.length).toEqual(serviceResult.result.defaultGuide.count);
153+
expect(items[0].endStopName).toEqual("百菊大厦");
154+
expect(items[0].startStopName).toEqual("儿童医院");
155+
expect(items[1].endStopName).toEqual("建设街");
156+
expect(items[1].startStopName).toEqual(items[0].endStopName);
157+
expect(items[2].endStopName).toEqual("西安桥");
158+
expect(items[2].startStopName).toEqual(items[1].endStopName);
159+
expect(items[3].endStopName).toEqual("亚泰大街");
160+
expect(items[3].startStopName).toEqual(items[2].endStopName);
161+
expect(items[4].endStopName).toEqual("净水厂");
162+
expect(items[4].startStopName).toEqual(items[3].endStopName);
163+
var solutionItems = serviceResult.result.solutionItems;
164+
expect(solutionItems.length).toEqual(3);
165+
expect(solutionItems[0].transferCount).toEqual(1);
166+
var lineItems = solutionItems[0].linesItems[0].lineItems;
167+
expect(lineItems[0].endStopIndex).toEqual(4);
168+
expect(lineItems[0].endStopName).toEqual("建设街");
169+
expect(lineItems[0].lineName).toEqual("25路");
170+
expect(lineItems[0].lineID).toEqual(28);
171+
expect(lineItems[0].startStopIndex).toEqual(3);
172+
expect(lineItems[0].startStopName).toEqual("百菊大厦");
173+
expect(serviceResult.result.defaultGuide.totalDistance).toEqual(7953.67659198908);
174+
expect(serviceResult.result.defaultGuide.transferCount).toEqual(1);
175+
done();
176+
});
177+
}, 10000);
178+
});

test/test-main-mapboxgl.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ require('./mapboxgl/services/LayerInfoServiceSpec.js');
2626
require('./mapboxgl/services/MapServiceSpec.js');
2727
require('./mapboxgl/services/MathExpressionAnalysisSpec.js');
2828
require('./mapboxgl/services/MeasureServiceSpec.js');
29+
//require('./mapboxgl/services/NetworkAnalystServiceSpec.js');
2930
require('./mapboxgl/services/OverlayAnalysisSpec.js');
3031
require('./mapboxgl/services/ProcessingServiceSpec.js');
3132
require('./mapboxgl/services/QueryServiceSpec.js');
@@ -35,6 +36,7 @@ require('./mapboxgl/services/SurfaceAnalysisSpec.js');
3536
require('./mapboxgl/services/TerrainCurvatureCalculateSpec.js');
3637
require('./mapboxgl/services/ThemeServiceSpec.js');
3738
require('./mapboxgl/services/ThiessenAnalysisSpec.js');
39+
require('./mapboxgl/services/TrafficTransferAnalystServiceSpec.js');
3840

3941

4042

0 commit comments

Comments
 (0)