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' ;
66import { FetchRequest } from '../../../src/common/util/FetchRequest' ;
77
88//服务初始化时注册事件监听函数
99var url = GlobeParameter . networkAnalystURL ;
1010var 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+ } ) ;
2518} ;
2619
20+
2721describe ( 'FindTSPPathsService' , ( ) => {
2822 var originalTimeout ;
2923 beforeEach ( ( ) => {
3024 originalTimeout = jasmine . DEFAULT_TIMEOUT_INTERVAL ;
3125 jasmine . DEFAULT_TIMEOUT_INTERVAL = 50000 ;
26+ serviceSucceedEventArgsSystem = null ;
3227 } ) ;
3328 afterEach ( ( ) => {
3429 jasmine . DEFAULT_TIMEOUT_INTERVAL = originalTimeout ;
3530 } ) ;
3631
3732 //测试正常情况
38- it ( 'processAsync_default' , ( done ) => {
33+ it ( 'processAsync_default' , ( done ) => {
3934 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 )
4237 ] ;
4338 var resultSetting = new TransportationAnalystResultSetting ( {
4439 returnEdgeFeatures : true ,
@@ -60,12 +55,7 @@ describe('FindTSPPathsService', () => {
6055 endNodeAssigned : false ,
6156 parameter : analystParameter
6257 } ) ;
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 ) => {
6959 try {
7060 var analystResult = serviceSucceedEventArgsSystem . result . tspPathList ;
7161 expect ( analystResult ) . not . toBeNull ( ) ;
@@ -114,13 +104,22 @@ describe('FindTSPPathsService', () => {
114104 parameter . destroy ( ) ;
115105 done ( ) ;
116106 }
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 ) ;
118117 } ) ;
119118
120119 //id为空
121- it ( 'processAsync_isAnalyzeById:null' , ( done ) => {
120+ it ( 'processAsync_isAnalyzeById:null' , ( done ) => {
122121 var nodeArray = [ new Point ( 119.6100397551 , - 122.6278394459 ) ,
123- new Point ( 171.9035599945 , - 113.2491141857 )
122+ new Point ( 171.9035599945 , - 113.2491141857 )
124123 ] ;
125124 var resultSetting = new TransportationAnalystResultSetting ( {
126125 returnEdgeFeatures : true ,
@@ -142,12 +141,10 @@ describe('FindTSPPathsService', () => {
142141 endNodeAssigned : false ,
143142 parameter : analystParameter
144143 } ) ;
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 ) => {
151148 try {
152149 expect ( serviceFailedEventArgsSystem . type ) . toBe ( "processFailed" ) ;
153150 expect ( serviceFailedEventArgsSystem . error . code ) . toEqual ( 400 ) ;
@@ -162,13 +159,20 @@ describe('FindTSPPathsService', () => {
162159 parameter . destroy ( ) ;
163160 done ( ) ;
164161 }
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 ) ;
166170 } ) ;
167171
168172 //参数错误
169- it ( 'processAsync_parameterWrong' , ( done ) => {
173+ it ( 'processAsync_parameterWrong' , ( done ) => {
170174 var nodeArray = [ new Point ( 119.6100397551 , - 122.6278394459 ) ,
171- new Point ( 171.9035599945 , - 113.2491141857 )
175+ new Point ( 171.9035599945 , - 113.2491141857 )
172176 ] ;
173177 var resultSetting = new TransportationAnalystResultSetting ( {
174178 returnEdgeFeatures : false ,
@@ -190,12 +194,10 @@ describe('FindTSPPathsService', () => {
190194 endNodeAssigned : false ,
191195 parameter : analystParameter
192196 } ) ;
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 ) => {
199201 try {
200202 expect ( serviceFailedEventArgsSystem . type ) . toBe ( "processFailed" ) ;
201203 expect ( serviceFailedEventArgsSystem . error . code ) . toEqual ( 400 ) ;
@@ -210,34 +212,36 @@ describe('FindTSPPathsService', () => {
210212 parameter . destroy ( ) ;
211213 done ( ) ;
212214 }
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 ) ;
214223 } ) ;
215224
216225 //参数为空
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 ) ;
219236 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 ;
234238 } ) ;
235239
236240 //AnalyzeById_wrong
237241 it ( 'processAsync_AnalyzeById_wrong' , ( done ) => {
238242 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 )
241245 ] ;
242246 var resultSetting = new TransportationAnalystResultSetting ( {
243247 returnEdgeFeatures : true ,
@@ -259,16 +263,10 @@ describe('FindTSPPathsService', () => {
259263 endNodeAssigned : false ,
260264 parameter : analystParameter
261265 } ) ;
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 ) => {
268267 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 ;
272270 findTSPPathsService . destroy ( ) ;
273271 parameter . destroy ( ) ;
274272 done ( ) ;
@@ -279,6 +277,17 @@ describe('FindTSPPathsService', () => {
279277 parameter . destroy ( ) ;
280278 done ( ) ;
281279 }
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 ) ;
283292 } )
284293} ) ;
0 commit comments