Skip to content

Commit 5d09e85

Browse files
committed
补充UT。review by chenmy
1 parent 3f142c6 commit 5d09e85

File tree

6 files changed

+283
-12
lines changed

6 files changed

+283
-12
lines changed

test/classic/services/AddressMatchServiceSpec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
require('../../../src/classic/services/AddressMatchService');
22

33
var addressMatchURL = GlobeParameter.addressMatchURL;
4-
describe('testAddressMatchService', function () {
4+
describe('classic_AddressMatchService', function () {
55
var originaTimeout;
66
beforeEach(function () {
77
originaTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
require('../../../src/common/iServer/DensityAnalystService');
2+
var request = require('request');
3+
4+
var serviceFailedEventArgsSystem = null;
5+
var analystEventArgsSystem = null;
6+
var url = GlobeParameter.spatialAnalystURL_Changchun;
7+
var options = {
8+
eventListeners: {"processCompleted": analyzeCompleted, 'processFailed': analyzeFailed}
9+
};
10+
11+
function initDensityAnalystService() {
12+
return new SuperMap.DensityAnalystService(url, options);
13+
}
14+
15+
function analyzeCompleted(analyseEventArgs) {
16+
analystEventArgsSystem = analyseEventArgs;
17+
}
18+
19+
function analyzeFailed(serviceFailedEventArgs) {
20+
serviceFailedEventArgsSystem = serviceFailedEventArgs;
21+
}
22+
23+
describe('DensityAnalystService', function () {
24+
var originalTimeout;
25+
beforeEach(function () {
26+
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
27+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
28+
serviceFailedEventArgsSystem = null;
29+
analystEventArgsSystem = null;
30+
});
31+
afterEach(function () {
32+
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
33+
});
34+
35+
var resultDataset = "KernelDensity_commonTest";
36+
//成功事件
37+
it('SuccessEvent', function (done) {
38+
var densityAnalystService = initDensityAnalystService();
39+
expect(densityAnalystService).not.toBeNull();
40+
expect(densityAnalystService.url).toEqual(url);
41+
var densityKernelAnalystParameters = new SuperMap.DensityKernelAnalystParameters({
42+
dataset: "Railway@Changchun",
43+
//用于进行核密度分析的测量值的字段名称
44+
fieldName: "SmLength",
45+
resultGridName: resultDataset,
46+
//删除重复的数据集
47+
deleteExistResultDataset: true
48+
});
49+
densityAnalystService.processAsync(densityKernelAnalystParameters);
50+
densityAnalystService.events.on({"processCompleted": analyzeCompleted});
51+
setTimeout(function () {
52+
try {
53+
expect(analystEventArgsSystem.type).toEqual("processCompleted");
54+
var serviceResult = analystEventArgsSystem.result;
55+
expect(serviceResult).not.toBeNull();
56+
expect(serviceResult.succeed).toBeTruthy();
57+
expect(serviceResult.dataset).toEqual(resultDataset + "@Changchun");
58+
densityAnalystService.destroy();
59+
densityKernelAnalystParameters.destroy();
60+
done();
61+
} catch (e) {
62+
expect(false).toBeTruthy();
63+
console.log("SuccessEvent" + e.name + ":" + e.message);
64+
densityAnalystService.destroy();
65+
densityKernelAnalystParameters.destroy();
66+
done();
67+
}
68+
}, 5000);
69+
});
70+
71+
//失败事件
72+
it('FailedEvent', function (done) {
73+
var densityAnalystService = initDensityAnalystService();
74+
expect(densityAnalystService).not.toBeNull();
75+
expect(densityAnalystService.url).toEqual(url);
76+
var densityKernelAnalystParameters = new SuperMap.DensityKernelAnalystParameters({
77+
dataset: "xx@Changchun",
78+
//用于进行核密度分析的测量值的字段名称
79+
fieldName: "SmLength",
80+
resultGridName: resultDataset,
81+
deleteExistResultDataset: true
82+
});
83+
densityAnalystService.processAsync(densityKernelAnalystParameters);
84+
densityAnalystService.events.on({"processFailed": analyzeFailed});
85+
setTimeout(function () {
86+
try {
87+
expect(serviceFailedEventArgsSystem.type).toEqual("processFailed");
88+
var serviceResult = serviceFailedEventArgsSystem;
89+
expect(serviceResult).not.toBeNull();
90+
expect(serviceResult.error.code).toEqual(400);
91+
expect(serviceResult.error.errorMsg).not.toBeNull();
92+
densityAnalystService.destroy();
93+
densityKernelAnalystParameters.destroy();
94+
done();
95+
} catch (e) {
96+
expect(false).toBeTruthy();
97+
console.log("FailedEvent" + e.name + ":" + e.message);
98+
densityAnalystService.destroy();
99+
densityKernelAnalystParameters.destroy();
100+
done();
101+
}
102+
}, 5000);
103+
});
104+
105+
// 删除测试过程中产生的测试数据集
106+
it('delete test resources', function (done) {
107+
var testResult = GlobeParameter.datachangchunURL + resultDataset;
108+
request.delete(testResult);
109+
done();
110+
});
111+
});

test/common/iServer/SurfaceAnalystServiceSpec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ describe('SurfaceAnalystService', function () {
9494
});
9595

9696
//点数据集提取等值面
97-
xit('Dataset_ISOREGION', function (done) {
97+
it('Dataset_ISOREGION', function (done) {
9898
var surfaceAnalystService = initSurfaceService();
9999
var surfaceAnalystParameters = new SuperMap.SurfaceAnalystParametersSetting({
100100
datumValue: 70,
@@ -127,7 +127,7 @@ describe('SurfaceAnalystService', function () {
127127
expect(false).toBeTruthy();
128128
done();
129129
}
130-
}, 12000);
130+
}, 20000);
131131
});
132132

133133
//对象提取等值线

test/leaflet/services/BufferAnalysisSpec.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
require('../../../src/leaflet/services/spatialAnalystService');
2+
var request = require('request');
23

34
var spatialAnalystURL = GlobeParameter.spatialAnalystURL_Changchun;
45
var options = {
56
serverType: 'iServer'
67
};
8+
79
describe('leaflet_SpatialAnalystService_bufferAnalysis', function () {
810
var serviceResult;
911
var originalTimeout;
@@ -93,4 +95,44 @@ describe('leaflet_SpatialAnalystService_bufferAnalysis', function () {
9395
}
9496
}, 5000);
9597
});
98+
99+
var resultDataset = "bufferAnalystByDatasets_leafletTest";
100+
it('bufferAnalysis_byDatasets', function (done) {
101+
var dsBufferAnalystParameters = new SuperMap.DatasetBufferAnalystParameters({
102+
dataset: "RoadLine2@Changchun",
103+
filterQueryParameter: new SuperMap.FilterParameter({
104+
attributeFilter: "NAME='团结路'"
105+
}),
106+
bufferSetting: new SuperMap.BufferSetting({
107+
endType: SuperMap.BufferEndType.ROUND,
108+
leftDistance: {value: 10},
109+
rightDistance: {value: 10},
110+
semicircleLineSegment: 10
111+
}),
112+
resultSetting: new SuperMap.DataReturnOption({
113+
expectCount: 2000,
114+
dataset: resultDataset,
115+
dataReturnMode: SuperMap.DataReturnMode.DATASET_ONLY,
116+
deleteExistResultDataset: true
117+
})
118+
});
119+
var spatialAnalystService = L.supermap.spatialAnalystService(spatialAnalystURL);
120+
spatialAnalystService.bufferAnalysis(dsBufferAnalystParameters, function (result) {
121+
serviceResult = result;
122+
});
123+
setTimeout(function () {
124+
expect(serviceResult).not.toBeNull();
125+
expect(serviceResult.type).toBe('processCompleted');
126+
expect(serviceResult.result.succeed).toBeTruthy();
127+
expect(serviceResult.result.dataset).toEqual(resultDataset + "@Changchun");
128+
done();
129+
}, 5000);
130+
});
131+
132+
// 删除测试过程中产生的测试数据集
133+
it('delete test resources', function (done) {
134+
var testResult = GlobeParameter.datachangchunURL + resultDataset;
135+
request.delete(testResult);
136+
done();
137+
});
96138
});
Lines changed: 126 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
11
require('../../../src/openlayers/services/SpatialAnalystService');
2+
var request = require('request');
23

3-
var originalTimeout, serviceResults;
4+
var originalTimeout, serviceResult;
45
var changchunServiceUrl = GlobeParameter.spatialAnalystURL_Changchun;
6+
57
describe('openlayers_SpatialAnalystService_bufferAnalysis', function () {
68
beforeEach(function () {
79
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
810
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
9-
serviceResults = null;
11+
serviceResult = null;
1012
});
1113
afterEach(function () {
1214
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
1315
});
1416

17+
var resultDataset = "BufferAnalystByDatasets_olTest";
1518
//缓冲区分析
16-
it('bufferAnalysis_dataset', function (done) {
19+
it('bufferAnalysis_byDataset_DATASET_ONLY', function (done) {
1720
var dsBufferAnalystParameters = new SuperMap.DatasetBufferAnalystParameters({
1821
dataset: "RoadLine2@Changchun",
1922
filterQueryParameter: new SuperMap.FilterParameter({
@@ -24,17 +27,132 @@ describe('openlayers_SpatialAnalystService_bufferAnalysis', function () {
2427
leftDistance: {value: 10},
2528
rightDistance: {value: 10},
2629
semicircleLineSegment: 10
30+
}),
31+
resultSetting: new SuperMap.DataReturnOption({
32+
expectCount: 2000,
33+
dataset: resultDataset,
34+
dataReturnMode: SuperMap.DataReturnMode.DATASET_ONLY,
35+
deleteExistResultDataset: true
2736
})
2837
});
2938
var spatialAnalystService = new ol.supermap.SpatialAnalystService(changchunServiceUrl);
30-
spatialAnalystService.bufferAnalysis(dsBufferAnalystParameters, function (serviceResult) {
31-
serviceResults = serviceResult;
39+
spatialAnalystService.bufferAnalysis(dsBufferAnalystParameters, function (result) {
40+
serviceResult = result;
3241
});
3342
setTimeout(function () {
34-
expect(serviceResults).not.toBeNull();
35-
expect(serviceResults.type).toBe('processCompleted');
36-
expect(serviceResults.result.recordset.features).not.toBeNull();
43+
expect(serviceResult).not.toBeNull();
44+
expect(serviceResult.type).toBe('processCompleted');
45+
expect(serviceResult.result.succeed).toBeTruthy();
46+
expect(serviceResult.result.dataset).toEqual(resultDataset + "@Changchun");
3747
done();
3848
}, 8000);
3949
});
50+
51+
//缓冲区分析
52+
it('bufferAnalysis_byDataset_RECORDSET_ONLY', function (done) {
53+
var dsBufferAnalystParameters = new SuperMap.DatasetBufferAnalystParameters({
54+
dataset: "RoadLine2@Changchun",
55+
filterQueryParameter: new SuperMap.FilterParameter({
56+
attributeFilter: "NAME='团结路'"
57+
}),
58+
bufferSetting: new SuperMap.BufferSetting({
59+
endType: SuperMap.BufferEndType.ROUND,
60+
leftDistance: {value: 10},
61+
rightDistance: {value: 10},
62+
semicircleLineSegment: 10
63+
})
64+
});
65+
var spatialAnalystService = new ol.supermap.SpatialAnalystService(changchunServiceUrl);
66+
spatialAnalystService.bufferAnalysis(dsBufferAnalystParameters, function (result) {
67+
serviceResult = result;
68+
});
69+
setTimeout(function () {
70+
expect(serviceResult).not.toBeNull();
71+
expect(serviceResult.type).toBe('processCompleted');
72+
expect(serviceResult.result.recordset.features).not.toBeNull();
73+
done();
74+
}, 8000);
75+
});
76+
77+
it('bufferAnalysis_byGeometry', function (done) {
78+
var pointsList = [
79+
[2823.940, -4690.000],
80+
[3448.940, -4690.301],
81+
[3816.561, -3810.125],
82+
[3917.383, -3609.158],
83+
[3976.983, -3490.291],
84+
[4020.004, -4377.027],
85+
[4076.265, -4382.939],
86+
[4215.049, -4382.333],
87+
[4428.156, -4382.285],
88+
[4647.579, -4383.017],
89+
[4679.707, -4382.898],
90+
[4917.462, -4382.635],
91+
[5074.019, -4381.833],
92+
[5257.042, -4381.031],
93+
[5363.785, -4380.717],
94+
[5671.717, -4378.794],
95+
[5847.521, -4377.970],
96+
[5990.637, -4303.528],
97+
[6055.343, -4270.072],
98+
[6168.913, -4382.389],
99+
[6214.183, -4209.927],
100+
[6377.789, -4209.142],
101+
[6393.692, -4210.142],
102+
[6693.989, -4207.450],
103+
[6788.392, -4208.450],
104+
[6984.304, -4207.210],
105+
[7189.183, -4208.296],
106+
[7300.505, -4208.296],
107+
[7573.056, -4208.803],
108+
[7680.977, -4208.804],
109+
[7850.593, -4208.393],
110+
[8182.656, -4210.533],
111+
[8554.893, -4261.485]
112+
];
113+
var roadLine = new ol.geom.LineString(pointsList);
114+
var geoBufferAnalystParams = new SuperMap.GeometryBufferAnalystParameters({
115+
sourceGeometry: roadLine,
116+
bufferSetting: new SuperMap.BufferSetting({
117+
endType: SuperMap.BufferEndType.ROUND,
118+
leftDistance: new SuperMap.BufferDistance({value: 250}),
119+
rightDistance: new SuperMap.BufferDistance({value: 250}),
120+
semicircleLineSegment: 10
121+
})
122+
});
123+
var bufferAnalystService = new ol.supermap.SpatialAnalystService(changchunServiceUrl);
124+
bufferAnalystService.bufferAnalysis(geoBufferAnalystParams, function (result) {
125+
serviceResult = result;
126+
});
127+
setTimeout(function () {
128+
try {
129+
expect(bufferAnalystService).not.toBeNull();
130+
expect(serviceResult).not.toBeNull();
131+
expect(serviceResult.type).toBe("processCompleted");
132+
expect(serviceResult.result).not.toBeNull();
133+
expect(serviceResult.result.succeed).toBe(true);
134+
var resultGeometry = serviceResult.result.resultGeometry;
135+
expect(resultGeometry.type).toBe("Feature");
136+
expect(resultGeometry.geometry).not.toBeNull();
137+
expect(resultGeometry.geometry.type).toEqual("MultiPolygon");
138+
var coordinates = resultGeometry.geometry.coordinates;
139+
expect(coordinates).not.toBeNull();
140+
expect(coordinates.length).toBeGreaterThan(0);
141+
for (var i = 0; i < coordinates[0][0].length; i++) {
142+
expect(coordinates[0][0][i].length).toEqual(2);
143+
}
144+
done();
145+
} catch (exception) {
146+
console.log("'bufferAnalysis_byGeometry'案例失败" + exception.name + ":" + exception.message);
147+
expect(false).toBeTruthy();
148+
done();
149+
}
150+
}, 8000);
151+
});
152+
// 删除测试过程中产生的测试数据集
153+
it('delete test resources', function (done) {
154+
var testResult = GlobeParameter.datachangchunURL + resultDataset;
155+
request.delete(testResult);
156+
done();
157+
});
40158
});

test/test-main-common.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ require('./common/iServer/BufferDistanceSpec.js');
55
require('./common/iServer/BufferSettingSpec.js');
66
require('./common/iServer/BurstPipelineAnalystServiceSpec.js');
77
require('./common/iServer/ComputeWeightMatrixServiceSpec.js');
8-
// require('./common/iServer/DensityAnalystServiceSpec.js'); //暂不提交
8+
require('./common/iServer/DensityAnalystServiceSpec.js');
99
require('./common/iServer/EditFeaturesServiceSpec.js');
1010
require('./common/iServer/FieldStatisticServiceSpec.js');
1111
require('./common/iServer/FindClosestFacilitiesServiceSpec.js');

0 commit comments

Comments
 (0)