1
- import { FindTSPPathsService } from '../../../src/common/iServer/FindTSPPathsService' ;
2
- import { FindTSPPathsParameters } from '../../../src/common/iServer/FindTSPPathsParameters' ;
3
- import { TransportationAnalystParameter } from '../../../src/common/iServer/TransportationAnalystParameter' ;
4
- import { TransportationAnalystResultSetting } from '../../../src/common/iServer/TransportationAnalystResultSetting' ;
5
- import { Point } from '../../../src/common/commontypes/geometry/Point' ;
1
+ import { FindTSPPathsService } from '../../../src/common/iServer/FindTSPPathsService' ;
2
+ import { FindTSPPathsParameters } from '../../../src/common/iServer/FindTSPPathsParameters' ;
3
+ import { TransportationAnalystParameter } from '../../../src/common/iServer/TransportationAnalystParameter' ;
4
+ import { TransportationAnalystResultSetting } from '../../../src/common/iServer/TransportationAnalystResultSetting' ;
5
+ import { Point } from '../../../src/common/commontypes/geometry/Point' ;
6
6
import { FetchRequest } from '../../../src/common/util/FetchRequest' ;
7
7
8
8
//服务初始化时注册事件监听函数
9
9
var url = GlobeParameter . networkAnalystURL ;
10
10
var serviceFailedEventArgsSystem = null , serviceSucceedEventArgsSystem = null ;
11
- var initFindTSPPathService = ( ) => {
12
- return new FindTSPPathsService ( url , options ) ;
13
- } ;
14
- var findTSPPathServiceCompleted = ( serviceSucceedEventArgs ) => {
15
- serviceSucceedEventArgsSystem = serviceSucceedEventArgs ;
16
- } ;
17
- var findTSPPathServiceFailed = ( serviceFailedEventArgs ) => {
18
- serviceFailedEventArgsSystem = serviceFailedEventArgs ;
19
- } ;
20
- var options = {
21
- eventListeners : {
22
- 'processFailed' : findTSPPathServiceFailed ,
23
- 'processCompleted' : findTSPPathServiceCompleted
24
- }
11
+ var initFindTSPPathService = ( findTSPPathServiceCompleted , findTSPPathServiceFailed ) => {
12
+ return new FindTSPPathsService ( url , {
13
+ eventListeners : {
14
+ 'processFailed' : findTSPPathServiceFailed ,
15
+ 'processCompleted' : findTSPPathServiceCompleted
16
+ }
17
+ } ) ;
25
18
} ;
26
19
20
+
27
21
describe ( 'FindTSPPathsService' , ( ) => {
28
22
var originalTimeout ;
29
23
beforeEach ( ( ) => {
30
24
originalTimeout = jasmine . DEFAULT_TIMEOUT_INTERVAL ;
31
25
jasmine . DEFAULT_TIMEOUT_INTERVAL = 50000 ;
26
+ serviceSucceedEventArgsSystem = null ;
32
27
} ) ;
33
28
afterEach ( ( ) => {
34
29
jasmine . DEFAULT_TIMEOUT_INTERVAL = originalTimeout ;
35
30
} ) ;
36
31
37
32
//测试正常情况
38
- it ( 'processAsync_default' , ( done ) => {
33
+ it ( 'processAsync_default' , ( done ) => {
39
34
var nodeArray = [ new Point ( 5627.7550668827 , - 3627.4849836293 ) ,
40
- new Point ( 5018.1469160422 , - 4638.5424045354 ) ,
41
- new Point ( 6133.2837773358 , - 4645.9766502774 )
35
+ new Point ( 5018.1469160422 , - 4638.5424045354 ) ,
36
+ new Point ( 6133.2837773358 , - 4645.9766502774 )
42
37
] ;
43
38
var resultSetting = new TransportationAnalystResultSetting ( {
44
39
returnEdgeFeatures : true ,
@@ -60,12 +55,7 @@ describe('FindTSPPathsService', () => {
60
55
endNodeAssigned : false ,
61
56
parameter : analystParameter
62
57
} ) ;
63
- var findTSPPathsService = initFindTSPPathService ( ) ;
64
- spyOn ( FetchRequest , 'get' ) . and . callFake ( ( ) => {
65
- return Promise . resolve ( new Response ( JSON . stringify ( findTSPPathsResultJson ) ) )
66
- } ) ;
67
- findTSPPathsService . processAsync ( parameter ) ;
68
- setTimeout ( ( ) => {
58
+ var findTSPPathServiceCompleted = ( serviceSucceedEventArgsSystem ) => {
69
59
try {
70
60
var analystResult = serviceSucceedEventArgsSystem . result . tspPathList ;
71
61
expect ( analystResult ) . not . toBeNull ( ) ;
@@ -114,13 +104,22 @@ describe('FindTSPPathsService', () => {
114
104
parameter . destroy ( ) ;
115
105
done ( ) ;
116
106
}
117
- } , 2000 )
107
+ } ;
108
+ var findTSPPathServiceFailed = ( serviceFailedEventArgs ) => {
109
+ serviceFailedEventArgsSystem = serviceFailedEventArgs ;
110
+ } ;
111
+ var findTSPPathsService = initFindTSPPathService ( findTSPPathServiceCompleted , findTSPPathServiceFailed ) ;
112
+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url ) => {
113
+ expect ( url ) . toContain ( "iserver/services/transportationanalyst-sample/rest/networkanalyst/RoadNet@Changchun/tsppath.json?" ) ;
114
+ return Promise . resolve ( new Response ( JSON . stringify ( findTSPPathsResultJson ) ) )
115
+ } ) ;
116
+ findTSPPathsService . processAsync ( parameter ) ;
118
117
} ) ;
119
118
120
119
//id为空
121
- it ( 'processAsync_isAnalyzeById:null' , ( done ) => {
120
+ it ( 'processAsync_isAnalyzeById:null' , ( done ) => {
122
121
var nodeArray = [ new Point ( 119.6100397551 , - 122.6278394459 ) ,
123
- new Point ( 171.9035599945 , - 113.2491141857 )
122
+ new Point ( 171.9035599945 , - 113.2491141857 )
124
123
] ;
125
124
var resultSetting = new TransportationAnalystResultSetting ( {
126
125
returnEdgeFeatures : true ,
@@ -142,12 +141,10 @@ describe('FindTSPPathsService', () => {
142
141
endNodeAssigned : false ,
143
142
parameter : analystParameter
144
143
} ) ;
145
- var findTSPPathsService = initFindTSPPathService ( ) ;
146
- spyOn ( FetchRequest , 'get' ) . and . callFake ( ( ) => {
147
- return Promise . resolve ( new Response ( `{"succeed":false,"error":{"code":400,"errorMsg":"参数nodes 不是有效的JSON 字符串对象"}}` ) )
148
- } ) ;
149
- findTSPPathsService . processAsync ( parameter ) ;
150
- setTimeout ( ( ) => {
144
+ var findTSPPathServiceCompleted = ( serviceSucceedEventArgs ) => {
145
+ serviceSucceedEventArgsSystem = serviceSucceedEventArgs ;
146
+ } ;
147
+ var findTSPPathServiceFailed = ( serviceFailedEventArgsSystem ) => {
151
148
try {
152
149
expect ( serviceFailedEventArgsSystem . type ) . toBe ( "processFailed" ) ;
153
150
expect ( serviceFailedEventArgsSystem . error . code ) . toEqual ( 400 ) ;
@@ -162,13 +159,20 @@ describe('FindTSPPathsService', () => {
162
159
parameter . destroy ( ) ;
163
160
done ( ) ;
164
161
}
165
- } , 2000 )
162
+ } ;
163
+
164
+ var findTSPPathsService = initFindTSPPathService ( findTSPPathServiceCompleted , findTSPPathServiceFailed ) ;
165
+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url ) => {
166
+ expect ( url ) . toContain ( "iserver/services/transportationanalyst-sample/rest/networkanalyst/RoadNet@Changchun/tsppath.json?" ) ;
167
+ return Promise . resolve ( new Response ( `{"succeed":false,"error":{"code":400,"errorMsg":"参数nodes 不是有效的JSON 字符串对象"}}` ) )
168
+ } ) ;
169
+ findTSPPathsService . processAsync ( parameter ) ;
166
170
} ) ;
167
171
168
172
//参数错误
169
- it ( 'processAsync_parameterWrong' , ( done ) => {
173
+ it ( 'processAsync_parameterWrong' , ( done ) => {
170
174
var nodeArray = [ new Point ( 119.6100397551 , - 122.6278394459 ) ,
171
- new Point ( 171.9035599945 , - 113.2491141857 )
175
+ new Point ( 171.9035599945 , - 113.2491141857 )
172
176
] ;
173
177
var resultSetting = new TransportationAnalystResultSetting ( {
174
178
returnEdgeFeatures : false ,
@@ -190,12 +194,10 @@ describe('FindTSPPathsService', () => {
190
194
endNodeAssigned : false ,
191
195
parameter : analystParameter
192
196
} ) ;
193
- var findTSPPathsService = initFindTSPPathService ( ) ;
194
- spyOn ( FetchRequest , 'get' ) . and . callFake ( ( ) => {
195
- return Promise . resolve ( new Response ( `{"succeed":false,"error":{"code":400,"errorMsg":"执行 findTSPPath 操作时出错,原因是:权重字段TurnCost1不存在。 "}}` ) )
196
- } ) ;
197
- findTSPPathsService . processAsync ( parameter ) ;
198
- setTimeout ( ( ) => {
197
+ var findTSPPathServiceCompleted = ( serviceSucceedEventArgs ) => {
198
+ serviceSucceedEventArgsSystem = serviceSucceedEventArgs ;
199
+ } ;
200
+ var findTSPPathServiceFailed = ( serviceFailedEventArgsSystem ) => {
199
201
try {
200
202
expect ( serviceFailedEventArgsSystem . type ) . toBe ( "processFailed" ) ;
201
203
expect ( serviceFailedEventArgsSystem . error . code ) . toEqual ( 400 ) ;
@@ -210,34 +212,36 @@ describe('FindTSPPathsService', () => {
210
212
parameter . destroy ( ) ;
211
213
done ( ) ;
212
214
}
213
- } , 2000 )
215
+ } ;
216
+
217
+ var findTSPPathsService = initFindTSPPathService ( findTSPPathServiceCompleted , findTSPPathServiceFailed ) ;
218
+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url ) => {
219
+ expect ( url ) . toContain ( "iserver/services/transportationanalyst-sample/rest/networkanalyst/RoadNet@Changchun/tsppath.json?" ) ;
220
+ return Promise . resolve ( new Response ( `{"succeed":false,"error":{"code":400,"errorMsg":"执行 findTSPPath 操作时出错,原因是:权重字段TurnCost1不存在。 "}}` ) )
221
+ } ) ;
222
+ findTSPPathsService . processAsync ( parameter ) ;
214
223
} ) ;
215
224
216
225
//参数为空
217
- it ( 'processAsync_parameterNull' , ( done ) => {
218
- var findTSPPathsService = initFindTSPPathService ( ) ;
226
+ it ( 'processAsync_parameterNull' , ( ) => {
227
+ var flag = false ;
228
+ var findTSPPathServiceCompleted = ( serviceSucceedEventArgs ) => {
229
+ flag = true ;
230
+ } ;
231
+ var findTSPPathServiceFailed = ( serviceFailedEventArgsSystem ) => {
232
+ flag = true ;
233
+ } ;
234
+
235
+ var findTSPPathsService = initFindTSPPathService ( findTSPPathServiceCompleted , findTSPPathServiceFailed ) ;
219
236
findTSPPathsService . processAsync ( ) ;
220
- setTimeout ( ( ) => {
221
- try {
222
- expect ( serviceFailedEventArgsSystem . type ) . toBe ( "processFailed" ) ;
223
- expect ( serviceFailedEventArgsSystem . error . code ) . toEqual ( 400 ) ;
224
- expect ( serviceFailedEventArgsSystem . error . errorMsg ) . not . toBeNull ( ) ;
225
- findTSPPathsService . destroy ( ) ;
226
- done ( ) ;
227
- } catch ( exception ) {
228
- expect ( false ) . toBeTruthy ( ) ;
229
- console . log ( "FindTSPPathsService_" + exception . name + ":" + exception . message ) ;
230
- findTSPPathsService . destroy ( ) ;
231
- done ( ) ;
232
- }
233
- } , 2000 )
237
+ expect ( flag ) . toBeFalsy ;
234
238
} ) ;
235
239
236
240
//AnalyzeById_wrong
237
241
it ( 'processAsync_AnalyzeById_wrong' , ( done ) => {
238
242
var nodeArray = [ new Point ( 5627.7550668827 , - 3627.4849836293 ) ,
239
- new Point ( 5018.1469160422 , - 4638.5424045354 ) ,
240
- new Point ( 6133.2837773358 , - 4645.9766502774 )
243
+ new Point ( 5018.1469160422 , - 4638.5424045354 ) ,
244
+ new Point ( 6133.2837773358 , - 4645.9766502774 )
241
245
] ;
242
246
var resultSetting = new TransportationAnalystResultSetting ( {
243
247
returnEdgeFeatures : true ,
@@ -259,16 +263,10 @@ describe('FindTSPPathsService', () => {
259
263
endNodeAssigned : false ,
260
264
parameter : analystParameter
261
265
} ) ;
262
- var findTSPPathsService = initFindTSPPathService ( ) ;
263
- spyOn ( FetchRequest , 'get' ) . and . callFake ( ( ) => {
264
- return Promise . resolve ( new Response ( `tsppath` ) )
265
- } ) ;
266
- findTSPPathsService . processAsync ( parameter ) ;
267
- setTimeout ( ( ) => {
266
+ var findTSPPathServiceCompleted = ( serviceSucceedEventArgs ) => {
268
267
try {
269
- expect ( serviceFailedEventArgsSystem . type ) . toBe ( "processFailed" ) ;
270
- expect ( serviceFailedEventArgsSystem . error . code ) . toEqual ( 400 ) ;
271
- expect ( serviceFailedEventArgsSystem . error . errorMsg ) . not . toBeNull ( ) ;
268
+ expect ( serviceSucceedEventArgs . type ) . toBe ( "processCompleted" ) ;
269
+ expect ( serviceSucceedEventArgs . result . succeed ) . toBeTruthy ;
272
270
findTSPPathsService . destroy ( ) ;
273
271
parameter . destroy ( ) ;
274
272
done ( ) ;
@@ -279,6 +277,17 @@ describe('FindTSPPathsService', () => {
279
277
parameter . destroy ( ) ;
280
278
done ( ) ;
281
279
}
282
- } , 2000 )
280
+ } ;
281
+ var findTSPPathServiceFailed = ( serviceFailedEventArgsSystem ) => {
282
+
283
+ } ;
284
+
285
+ var findTSPPathsService = initFindTSPPathService ( findTSPPathServiceCompleted , findTSPPathServiceFailed ) ;
286
+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url ) => {
287
+ expect ( url ) . toContain ( "iserver/services/transportationanalyst-sample/rest/networkanalyst/RoadNet@Changchun/tsppath.json?" ) ;
288
+ return Promise . resolve ( new Response ( `tsppath` ) )
289
+ } ) ;
290
+
291
+ findTSPPathsService . processAsync ( parameter ) ;
283
292
} )
284
293
} ) ;
0 commit comments