Skip to content

Commit bd43a1c

Browse files
committed
增加UT。review by chenmy
1 parent 3bde262 commit bd43a1c

File tree

8 files changed

+1521
-11
lines changed

8 files changed

+1521
-11
lines changed

test/leaflet/services/NetworkAnalystServiceSpec.js

Lines changed: 725 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 222 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,222 @@
1+
require('../../../src/leaflet/services/TrafficTransferAnalystService');
2+
3+
var url = GlobeParameter.trafficTransferURL;
4+
var options = {
5+
serverType: 'iServer'
6+
};
7+
describe('leaflet_TrafficTransferAnalystService', function () {
8+
var serviceResult;
9+
var originalTimeout;
10+
beforeEach(function () {
11+
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
12+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
13+
serviceResult = null;
14+
});
15+
afterEach(function () {
16+
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
17+
});
18+
//站点查询服务 返回坐标
19+
it('queryStop_returnPosition_test', function (done) {
20+
var stopQueryParameters = new SuperMap.StopQueryParameters({
21+
keyWord: "人民",
22+
returnPosition: true
23+
});
24+
var service = L.supermap.trafficTransferAnalystService(url, options);
25+
service.queryStop(stopQueryParameters, function (result) {
26+
serviceResult = result;
27+
});
28+
setTimeout(function () {
29+
try {
30+
expect(service).not.toBeNull();
31+
expect(service.options.serverType).toBe('iServer');
32+
expect(serviceResult).not.toBeNull();
33+
expect(serviceResult.type).toEqual("processCompleted");
34+
expect(serviceResult.result[0].id).toEqual(164);
35+
expect(serviceResult.result[0].name).toEqual("人民广场");
36+
expect(serviceResult.result[0].stopID).toEqual(serviceResult.result[0].id);
37+
expect(serviceResult.result[0].position.x).not.toBeNull();
38+
expect(serviceResult.result[0].position.y).not.toBeNull();
39+
service.destroy();
40+
done();
41+
} catch (e) {
42+
console.log("'queryStop_returnPosition_test'案例失败" + exception.name + ":" + exception.message);
43+
service.destroy();
44+
expect(false).toBeTruthy();
45+
done();
46+
}
47+
}, 5000);
48+
});
49+
//站点查询服务 不返回坐标
50+
it('queryStop_returnPosition_false_test', function (done) {
51+
var stopQueryParameters = new SuperMap.StopQueryParameters({
52+
keyWord: "人民",
53+
returnPosition: false
54+
});
55+
var service = L.supermap.trafficTransferAnalystService(url, options);
56+
service.queryStop(stopQueryParameters, function (result) {
57+
serviceResult = result;
58+
});
59+
setTimeout(function () {
60+
try {
61+
expect(service).not.toBeNull();
62+
expect(service.options.serverType).toBe('iServer');
63+
expect(serviceResult).not.toBeNull();
64+
expect(serviceResult.type).toEqual("processCompleted");
65+
expect(serviceResult.result[0].id).toEqual(164);
66+
expect(serviceResult.result[0].name).toEqual("人民广场");
67+
expect(serviceResult.result[0].stopID).toEqual(serviceResult.result[0].id);
68+
expect(serviceResult.result[0].position).toBeNull();
69+
service.destroy();
70+
done();
71+
} catch (e) {
72+
console.log("'queryStop_returnPosition_false_test'案例失败" + exception.name + ":" + exception.message);
73+
service.destroy();
74+
expect(false).toBeTruthy();
75+
done();
76+
}
77+
}, 5000);
78+
});
79+
//交通换乘线路查询服务 按ID进行查询
80+
it('analysisTransferPath_ID_test', function (done) {
81+
var transferPathParameters = new SuperMap.TransferPathParameters({
82+
points: [175, 164],
83+
transferLines: [{"lineID": 27, "startStopIndex": 7, "endStopIndex": 9}]
84+
});
85+
var service = L.supermap.trafficTransferAnalystService(url, options);
86+
service.analysisTransferPath(transferPathParameters, function (result) {
87+
serviceResult = result;
88+
});
89+
setTimeout(function () {
90+
try {
91+
expect(service).not.toBeNull();
92+
expect(service.options.serverType).toBe('iServer');
93+
expect(serviceResult).not.toBeNull();
94+
expect(serviceResult.type).toEqual("processCompleted");
95+
expect(serviceResult.result.count).toEqual(2);
96+
var items = serviceResult.result.items;
97+
expect(items.length).toEqual(serviceResult.result.count);
98+
expect(items[0].distance).toEqual(291.00463130468444);
99+
expect(items[0].lineType).toEqual(-1);
100+
expect(items[0].isWalking).toEqual(true);
101+
expect(items[0].endStopName).toEqual("金都饭店");
102+
expect(items[0].startStopName).toEqual("儿童医院");
103+
expect(items[1].distance).toEqual(501.84750942032434);
104+
expect(items[1].endStopName).toEqual("人民广场");
105+
expect(items[1].startStopName).toEqual("金都饭店");
106+
expect(items[1].lineName).toEqual("22路");
107+
expect(items[1].lineType).toEqual(0);
108+
expect(items[1].passStopCount).toEqual(3);
109+
expect(items[1].startIndex).toEqual(7);
110+
expect(items[1].endIndex).toEqual(9);
111+
expect(serviceResult.result.totalDistance).toEqual(792.8521407250088);
112+
expect(serviceResult.result.transferCount).toEqual(0);
113+
service.destroy();
114+
done();
115+
} catch (e) {
116+
console.log("'analysisTransferPath_ID_test'案例失败" + e.name + ":" + e.message);
117+
expect(false).toBeTruthy();
118+
service.destroy();
119+
done();
120+
}
121+
}, 5000);
122+
});
123+
//交通换乘线路查询服务 按坐标进行查询
124+
it('analysisTransferPath_position_test', function (done) {
125+
var transferPathParameters = new SuperMap.TransferPathParameters({
126+
points: [{x: 4941, y: -3566}, {x: 5308, y: -3935}],
127+
transferLines: [{"lineID": 27, "startStopIndex": 7, "endStopIndex": 9}]
128+
});
129+
var service = L.supermap.trafficTransferAnalystService(url, options);
130+
service.analysisTransferPath(transferPathParameters, function (result) {
131+
serviceResult = result;
132+
});
133+
setTimeout(function () {
134+
try {
135+
expect(service).not.toBeNull();
136+
expect(service.options.serverType).toBe('iServer');
137+
expect(serviceResult).not.toBeNull();
138+
expect(serviceResult.type).toEqual("processCompleted");
139+
expect(serviceResult.result.count).toEqual(2);
140+
var items = serviceResult.result.items;
141+
expect(items.length).toEqual(serviceResult.result.count);
142+
expect(items[0].distance).toEqual(289.5549539610702);
143+
expect(items[0].lineType).toEqual(-1);
144+
expect(items[0].isWalking).toEqual(true);
145+
expect(items[0].endStopName).toEqual("金都饭店");
146+
expect(items[1].distance).toEqual(501.84750942032434);
147+
expect(items[1].endStopName).toEqual("人民广场");
148+
expect(items[1].startStopName).toEqual("金都饭店");
149+
expect(items[1].lineName).toEqual("22路");
150+
expect(items[1].lineType).toEqual(0);
151+
expect(items[1].passStopCount).toEqual(3);
152+
expect(items[1].startIndex).toEqual(7);
153+
expect(items[1].endIndex).toEqual(9);
154+
expect(serviceResult.result.totalDistance).toEqual(796.7259786798306);
155+
expect(serviceResult.result.transferCount).toEqual(0);
156+
service.destroy();
157+
done();
158+
} catch (e) {
159+
console.log("'analysisTransferPath_position_test'案例失败" + e.name + ":" + e.message);
160+
expect(false).toBeTruthy();
161+
service.destroy();
162+
done();
163+
}
164+
}, 5000);
165+
});
166+
//交通换乘方案查询服务
167+
it('analysisTransferSolution_test', function (done) {
168+
var transferSolutionParameters = new SuperMap.TransferSolutionParameters({
169+
solutionCount: 3,
170+
//交通换乘策略类型: 时间最短、距离最短、最少换乘、最少步行:transferTactic
171+
//乘车偏好枚举:transferPreference
172+
//步行与公交的消耗权重比
173+
walkingRatio: 5,
174+
points: [175, 179],
175+
});
176+
var service = L.supermap.trafficTransferAnalystService(url, options);
177+
service.analysisTransferSolution(transferSolutionParameters, function (result) {
178+
serviceResult = result;
179+
});
180+
setTimeout(function () {
181+
try {
182+
expect(service).not.toBeNull();
183+
expect(service.options.serverType).toBe('iServer');
184+
expect(serviceResult).not.toBeNull();
185+
expect(serviceResult.type).toEqual("processCompleted");
186+
expect(serviceResult.result.suggestWalking).toEqual(false);
187+
expect(serviceResult.result.defaultGuide.count).toEqual(5);
188+
var items = serviceResult.result.defaultGuide.items;
189+
expect(items.length).toEqual(serviceResult.result.defaultGuide.count);
190+
expect(items[0].endStopName).toEqual("百菊大厦");
191+
expect(items[0].startStopName).toEqual("儿童医院");
192+
expect(items[1].endStopName).toEqual("建设街");
193+
expect(items[1].startStopName).toEqual(items[0].endStopName);
194+
expect(items[2].endStopName).toEqual("西安桥");
195+
expect(items[2].startStopName).toEqual(items[1].endStopName);
196+
expect(items[3].endStopName).toEqual("亚泰大街");
197+
expect(items[3].startStopName).toEqual(items[2].endStopName);
198+
expect(items[4].endStopName).toEqual("净水厂");
199+
expect(items[4].startStopName).toEqual(items[3].endStopName);
200+
var solutionItems = serviceResult.result.solutionItems;
201+
expect(solutionItems.length).toEqual(3);
202+
expect(solutionItems[0].transferCount).toEqual(1);
203+
var lineItems = solutionItems[0].linesItems[0].lineItems;
204+
expect(lineItems[0].endStopIndex).toEqual(4);
205+
expect(lineItems[0].endStopName).toEqual("建设街");
206+
expect(lineItems[0].lineName).toEqual("25路");
207+
expect(lineItems[0].lineID).toEqual(28);
208+
expect(lineItems[0].startStopIndex).toEqual(3);
209+
expect(lineItems[0].startStopName).toEqual("百菊大厦");
210+
expect(serviceResult.result.defaultGuide.totalDistance).toEqual(7953.67659198908);
211+
expect(serviceResult.result.defaultGuide.transferCount).toEqual(1);
212+
service.destroy();
213+
done();
214+
} catch (e) {
215+
console.log("'analysisTransferSolution_test'案例失败" + e.name + ":" + e.message);
216+
expect(false).toBeTruthy();
217+
service.destroy();
218+
done();
219+
}
220+
}, 5000);
221+
});
222+
});
Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
require('../../../src/openlayers/services/FieldService');
2+
3+
var url = GlobeParameter.dataServiceURL;
4+
var options = {
5+
serverType: 'iServer'
6+
};
7+
describe('openlayers_FieldService', function () {
8+
var serviceResult;
9+
var originalTimeout;
10+
beforeEach(function () {
11+
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
12+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
13+
serviceResult = null;
14+
});
15+
afterEach(function () {
16+
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
17+
});
18+
19+
//字段查询服务成功事件
20+
it('getFields_successEvent_test', function (done) {
21+
var fieldParameters = new SuperMap.FieldParameters({
22+
datasource: "World",
23+
dataset: "continent_T"
24+
});
25+
var service = new ol.supermap.FieldService(url, options);
26+
service.getFields(fieldParameters, function (result) {
27+
serviceResult = result;
28+
});
29+
setTimeout(function () {
30+
try {
31+
expect(service).not.toBeNull();
32+
expect(serviceResult).not.toBeNull();
33+
expect(serviceResult.type).toBe("processCompleted");
34+
expect(serviceResult.result.succeed).toBe(true);
35+
expect(serviceResult.object.datasource).toEqual("World");
36+
expect(serviceResult.object.dataset).toEqual("continent_T");
37+
expect(serviceResult.result.childUriList.length).toEqual(7);
38+
expect(serviceResult.result.fieldNames.length).toEqual(7);
39+
expect(serviceResult.result.fieldNames[0]).toEqual("SmID");
40+
done();
41+
} catch (e) {
42+
console.log("'getFields_successEvent_test'案例失败" + exception.name + ":" + exception.message);
43+
expect(false).toBeTruthy();
44+
done();
45+
}
46+
}, 5000);
47+
});
48+
49+
//字段查询服务失败事件
50+
it('getFields_failEvent_test', function (done) {
51+
var fieldParameters = new SuperMap.FieldParameters({
52+
datasource: "World1",
53+
dataset: "continent_T"
54+
});
55+
var service = new ol.supermap.FieldService(url, options).getFields(fieldParameters, function (result) {
56+
serviceResult = result;
57+
});
58+
setTimeout(function () {
59+
try {
60+
expect(service).not.toBeNull();
61+
expect(serviceResult).not.toBeNull();
62+
expect(serviceResult.type).toBe("processFailed");
63+
expect(serviceResult.object.datasource).toBe("World1");
64+
expect(serviceResult.object.dataset).toBe("continent_T");
65+
expect(serviceResult.object.isInTheSameDomain).toBeFalsy();
66+
expect(serviceResult.error).not.toBeNull();
67+
expect(serviceResult.error.code).toEqual(404);
68+
expect(serviceResult.error.errorMsg).toBe("数据源World1不存在,获取相应的数据服务组件失败");
69+
done();
70+
} catch (e) {
71+
console.log("'getFields_failEvent_test'案例失败" + exception.name + ":" + exception.message);
72+
expect(false).toBeTruthy();
73+
done();
74+
}
75+
}, 5000);
76+
});
77+
78+
//字段统计服务成功事件
79+
it('getFieldStatisticsInfo_successEvent_test', function (done) {
80+
var fieldStatisticsParameters = new SuperMap.FieldStatisticsParameters({
81+
datasource: "World",
82+
dataset: "Countries",
83+
fieldName: "SmID",
84+
//字段统计方法类型
85+
statisticMode: [
86+
SuperMap.StatisticMode.MAX,
87+
SuperMap.StatisticMode.MIN,
88+
SuperMap.StatisticMode.SUM,
89+
SuperMap.StatisticMode.AVERAGE,
90+
SuperMap.StatisticMode.STDDEVIATION,
91+
SuperMap.StatisticMode.VARIANCE
92+
]
93+
});
94+
var service = new ol.supermap.FieldService(url, options);
95+
service.getFieldStatisticsInfo(fieldStatisticsParameters, function (result) {
96+
serviceResult = result;
97+
});
98+
setTimeout(function () {
99+
try {
100+
expect(service).not.toBeNull();
101+
expect(service.currentStatisticResult).not.toBeNull();
102+
expect(service.currentStatisticResult.AVERAGE).toEqual(124);
103+
expect(service.currentStatisticResult.MAX).toEqual(247);
104+
expect(service.currentStatisticResult.MIN).toEqual(1);
105+
expect(service.currentStatisticResult.STDDEVIATION).toEqual(71.44695001654492);
106+
expect(service.currentStatisticResult.SUM).toEqual(30628);
107+
expect(service.currentStatisticResult.VARIANCE).toEqual(5104.666666666667);
108+
expect(service.currentStatisticResult.fieldName).toEqual("SmID");
109+
expect(serviceResult).not.toBeNull();
110+
expect(serviceResult.result.AVERAGE).toEqual(124);
111+
expect(serviceResult.result.MAX).toEqual(247);
112+
expect(serviceResult.result.MIN).toEqual(1);
113+
expect(serviceResult.result.STDDEVIATION).toEqual(71.44695001654492);
114+
expect(serviceResult.result.SUM).toEqual(30628);
115+
expect(serviceResult.result.VARIANCE).toEqual(5104.666666666667);
116+
expect(serviceResult.result.fieldName).toEqual("SmID");
117+
done();
118+
} catch (e) {
119+
console.log("'getFieldStatisticsInfo_successEvent_test'案例失败" + exception.name + ":" + exception.message);
120+
expect(false).toBeTruthy();
121+
done();
122+
}
123+
}, 5000);
124+
});
125+
126+
//字段统计服务失败事件
127+
it('getFieldStatisticsInfo_failEvent_test', function (done) {
128+
var fieldStatisticsParameters = new SuperMap.FieldStatisticsParameters({
129+
datasource: "World1",
130+
dataset: "Countries",
131+
fieldName: "SmID",
132+
//字段统计方法类型
133+
statisticMode: [
134+
SuperMap.StatisticMode.MAX,
135+
SuperMap.StatisticMode.MIN,
136+
SuperMap.StatisticMode.SUM,
137+
SuperMap.StatisticMode.AVERAGE,
138+
SuperMap.StatisticMode.STDDEVIATION,
139+
SuperMap.StatisticMode.VARIANCE
140+
]
141+
});
142+
var service = new ol.supermap.FieldService(url, options);
143+
service.getFieldStatisticsInfo(fieldStatisticsParameters, function (result) {
144+
serviceResult = result;
145+
});
146+
setTimeout(function () {
147+
try {
148+
expect(service).not.toBeNull();
149+
expect(service.currentStatisticResult).not.toBeNull();
150+
expect(service.currentStatisticResult.AVERAGE).toBeNull();
151+
expect(service.currentStatisticResult.MAX).toBeNull();
152+
expect(service.currentStatisticResult.MIN).toBeNull();
153+
expect(service.currentStatisticResult.STDDEVIATION).toBeNull();
154+
expect(service.currentStatisticResult.SUM).toBeNull();
155+
expect(service.currentStatisticResult.VARIANCE).toBeNull();
156+
expect(service.currentStatisticResult.fieldName).toEqual("SmID");
157+
expect(serviceResult).not.toBeNull();
158+
expect(serviceResult.type).toEqual("processFailed");
159+
expect(serviceResult.error).not.toBeNull();
160+
expect(serviceResult.error.code).toEqual(404);
161+
expect(serviceResult.error.errorMsg).toBe("数据源World1不存在,获取相应的数据服务组件失败");
162+
done();
163+
} catch (e) {
164+
console.log("'getFieldStatisticsInfo_failEvent_test'案例失败" + exception.name + ":" + exception.message);
165+
expect(false).toBeTruthy();
166+
done();
167+
}
168+
}, 5000);
169+
});
170+
171+
172+
});

0 commit comments

Comments
 (0)