Skip to content

Commit 6fd5288

Browse files
committed
补充UT。review by chenmy
1 parent 7d0e494 commit 6fd5288

File tree

5 files changed

+340
-0
lines changed

5 files changed

+340
-0
lines changed

test/common/commontypes/PixelSpec.js

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
var Pixel = require('../../../src/common/commontypes/Pixel').Pixel;
2+
3+
describe('Pixel', function () {
4+
it('constructor, destroy', function () {
5+
var pixel = new Pixel();
6+
expect(pixel).not.toBeNull();
7+
expect(pixel.x).toEqual(0.0);
8+
expect(pixel.y).toEqual(0.0);
9+
pixel.destroy();
10+
expect(pixel.x).toBeNull();
11+
expect(pixel.y).toBeNull();
12+
expect(pixel.mode).toBeNull();
13+
});
14+
15+
it('toString', function () {
16+
var pixel = new Pixel(100, 50);
17+
var str = pixel.toString();
18+
expect(str).toEqual("x=100,y=50");
19+
pixel.destroy();
20+
});
21+
22+
it('equals', function () {
23+
var pixel = new Pixel(100, 50);
24+
var pixel2 = new Pixel(100, 50);
25+
var isEquals = pixel.equals(pixel2);
26+
expect(isEquals).toBeTruthy();
27+
pixel.destroy();
28+
pixel2.destroy();
29+
});
30+
31+
it('distanceTo', function () {
32+
var pixel = new Pixel(100, 50);
33+
var pixel2 = new Pixel(110, 30);
34+
var distance = pixel.distanceTo(pixel2);
35+
expect(distance).not.toBeNaN();
36+
pixel.destroy();
37+
pixel2.destroy();
38+
});
39+
40+
it('offset', function () {
41+
var pixel = new Pixel(100,50);
42+
var pixel2 = new Pixel(30,20);
43+
var pixel3 = pixel.offset(pixel2);
44+
expect(pixel3.x).toEqual(130);
45+
expect(pixel3.y).toEqual(70);
46+
pixel.destroy();
47+
pixel2.destroy();
48+
pixel3.destroy();
49+
});
50+
});
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
var FacilityAnalystUpstream3DParameters = require('../../../src/common/iServer/FacilityAnalystUpstream3DParameters').FacilityAnalystUpstream3DParameters;
2+
3+
describe('FacilityAnalystUpstream3DParameters', function () {
4+
it('constructor,destroy', function () {
5+
var options = {
6+
edgeID: 84,
7+
nodeID: 25,
8+
weightName: 'test',
9+
isUncertainDirectionValid: false,
10+
sourceNodeIDs: [20, 43, 85]
11+
};
12+
var parameter = new FacilityAnalystUpstream3DParameters(options);
13+
expect(parameter).not.toBeNull();
14+
expect(parameter.CLASS_NAME).toEqual("SuperMap.FacilityAnalystUpstream3DParameters");
15+
expect(parameter.edgeID).toEqual(84);
16+
expect(parameter.nodeID).toEqual(25);
17+
expect(parameter.weightName).toEqual('test');
18+
expect(parameter.isUncertainDirectionValid).toBeFalsy();
19+
expect(parameter.sourceNodeIDs.length).toEqual(3);
20+
parameter.destroy();
21+
expect(parameter.edgeID).toBeNull();
22+
expect(parameter.nodeID).toBeNull();
23+
expect(parameter.weightName).toBeNull();
24+
expect(parameter.isUncertainDirectionValid).toBeNull();
25+
expect(parameter.sourceNodeIDs).toBeNull();
26+
});
27+
});
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
var OverlapDisplayedOptions = require('../../../src/common/iServer/OverlapDisplayedOptions').OverlapDisplayedOptions;
2+
3+
describe('OverlapDisplayedOptions', function () {
4+
it('constructor, destroy', function () {
5+
var overlapDisplayed = new OverlapDisplayedOptions();
6+
expect(overlapDisplayed).not.toBeNull();
7+
expect(overlapDisplayed.CLASS_NAME).toEqual("SuperMap.OverlapDisplayedOptions");
8+
expect(overlapDisplayed.allowPointOverlap).toBeTruthy();
9+
expect(overlapDisplayed.allowPointWithTextDisplay).toBeTruthy();
10+
expect(overlapDisplayed.allowTextOverlap).toBeFalsy();
11+
expect(overlapDisplayed.allowTextAndPointOverlap).toBeTruthy();
12+
expect(overlapDisplayed.allowThemeGraduatedSymbolOverlap).toBeFalsy();
13+
expect(overlapDisplayed.allowThemeGraphOverlap).toBeFalsy();
14+
expect(overlapDisplayed.ugcLayer).not.toBeNull();
15+
expect(overlapDisplayed.ugcLayer.CLASS_NAME).toEqual("SuperMap.UGCLayer");
16+
overlapDisplayed.destroy();
17+
expect(overlapDisplayed.CLASS_NAME).toBeNull();
18+
expect(overlapDisplayed.allowPointOverlap).toBeNull();
19+
expect(overlapDisplayed.allowPointWithTextDisplay).toBeNull();
20+
expect(overlapDisplayed.allowTextOverlap).toBeNull();
21+
expect(overlapDisplayed.allowTextAndPointOverlap).toBeNull();
22+
expect(overlapDisplayed.allowThemeGraduatedSymbolOverlap).toBeNull();
23+
expect(overlapDisplayed.allowThemeGraphOverlap).toBeNull();
24+
expect(overlapDisplayed.ugcLayer).toBeNull();
25+
});
26+
27+
it('toServerJSONObject, fromJson', function () {
28+
var overlapDisplayed = new OverlapDisplayedOptions();
29+
var json = overlapDisplayed.toServerJSONObject();
30+
expect(json).not.toBeNull();
31+
expect(json.allowPointOverlap).toBeTruthy();
32+
expect(json.allowPointWithTextDisplay).toBeTruthy();
33+
expect(json.allowTextOverlap).toBeFalsy();
34+
expect(json.allowTextAndPointOverlap).toBeTruthy();
35+
expect(json.allowThemeGraduatedSymbolOverlap).toBeFalsy();
36+
expect(json.allowThemeGraphOverlap).toBeFalsy();
37+
expect(json.ugcLayer).not.toBeNull();
38+
//将服务端JSON对象转换成当前客户端对象
39+
overlapDisplayed.fromJson(json);
40+
overlapDisplayed.destroy();
41+
});
42+
43+
it('toString', function () {
44+
var overlapDisplayed = new OverlapDisplayedOptions();
45+
var string = overlapDisplayed.toString();
46+
expect(string).not.toBeNull();
47+
expect(string).toContain("'allowPointOverlap':true");
48+
overlapDisplayed.destroy();
49+
});
50+
});

test/common/iServer/ServerGeometrySpec.js

Lines changed: 210 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,97 @@ describe('ServerGeometry', function () {
221221
serverGeometry.destroy();
222222
});
223223

224+
it('toGeoLineEPS_LinearRing', function () {
225+
var options = {
226+
id: 1,
227+
parts: [4],
228+
points: [{"y": -4377.027184298267, "x": 4020.0045221720466},
229+
{"y": -4381.569363260499, "x": 4057.0600591960642},
230+
{"y": -4382.60877717323, "x": 4064.595810063362},
231+
{"y": -4377.027184298267, "x": 4020.0045221720466}],
232+
type: SuperMap.GeometryType.LINE
233+
};
234+
var serverGeometry = new SuperMap.ServerGeometry(options);
235+
var toGeoLineEPS_LinearRing = serverGeometry.toGeoLineEPS();
236+
expect(toGeoLineEPS_LinearRing).not.toBeNull();
237+
expect(toGeoLineEPS_LinearRing.CLASS_NAME).toEqual("SuperMap.Geometry.LinearRing");
238+
expect(toGeoLineEPS_LinearRing.id).toContain("SuperMap.Geometry_");
239+
expect(toGeoLineEPS_LinearRing.componentTypes[0]).toEqual("SuperMap.Geometry.Point");
240+
var components = toGeoLineEPS_LinearRing.components;
241+
expect(components.length).toEqual(4);
242+
for (var i = 0; i < components.length; i++) {
243+
expect(components[i].CLASS_NAME).toEqual("SuperMap.Geometry.Point");
244+
expect(components[i].id).toContain("SuperMap.Geometry_");
245+
expect(components[i].type).toEqual("Point");
246+
expect(components[i].parent.CLASS_NAME).toEqual("SuperMap.Geometry.LinearRing");
247+
expect(components[i].x).not.toBeNaN();
248+
expect(components[i].y).not.toBeNaN();
249+
}
250+
serverGeometry.destroy();
251+
});
252+
253+
it('toGeoLineEPS_LineString', function () {
254+
var options = {
255+
id: 1,
256+
parts: [4],
257+
points: [{"y": -4377.027184298267, "x": 4020.0045221720466},
258+
{"y": -4381.569363260499, "x": 4057.0600591960642},
259+
{"y": -4382.60877717323, "x": 4064.595810063362},
260+
{"y": -4382.939424428795, "x": 4076.2655245045335}],
261+
type: SuperMap.GeometryType.LINE
262+
};
263+
var serverGeometry = new SuperMap.ServerGeometry(options);
264+
var geoLine_LineString = serverGeometry.toGeoLineEPS();
265+
expect(geoLine_LineString).not.toBeNull();
266+
expect(geoLine_LineString.CLASS_NAME).toEqual("SuperMap.Geometry.LineString");
267+
expect(geoLine_LineString.id).toContain("SuperMap.Geometry_");
268+
expect(geoLine_LineString.componentTypes[0]).toEqual("SuperMap.Geometry.Point");
269+
expect(geoLine_LineString.componentTypes[1]).toEqual("SuperMap.PointWithMeasure");
270+
var components = geoLine_LineString.components;
271+
expect(components.length).toEqual(4);
272+
for (var i = 0; i < components.length; i++) {
273+
expect(components[i].CLASS_NAME).toEqual("SuperMap.Geometry.Point");
274+
expect(components[i].id).toContain("SuperMap.Geometry_");
275+
expect(components[i].type).toEqual("Point");
276+
expect(components[i].parent.CLASS_NAME).toEqual("SuperMap.Geometry.LineString");
277+
expect(components[i].x).not.toBeNaN();
278+
expect(components[i].y).not.toBeNaN();
279+
}
280+
serverGeometry.destroy();
281+
});
282+
283+
it('toGeoLineEPS_MultiLineString', function () {
284+
var options = {
285+
id: 1,
286+
parts: [4, 4],
287+
points: [{"y": -4377.027184298267, "x": 4020.0045221720466},
288+
{"y": -4381.569363260499, "x": 4057.0600591960642},
289+
{"y": -4382.60877717323, "x": 4064.595810063362},
290+
{"y": -4382.939424428795, "x": 4076.2655245045335},
291+
{"y": -4382.333381109672, "x": 4215.049444583775},
292+
{"y": -4382.389670274902, "x": 4247.756955878764},
293+
{"y": -4382.285032149534, "x": 4428.153084011883},
294+
{"y": -4383.017499027105, "x": 4647.579232906979}],
295+
type: SuperMap.GeometryType.LINE
296+
};
297+
var serverGeometry = new SuperMap.ServerGeometry(options);
298+
var geoLine_MultiLineString = serverGeometry.toGeoLineEPS();
299+
expect(geoLine_MultiLineString).not.toBeNull();
300+
expect(geoLine_MultiLineString.CLASS_NAME).toEqual("SuperMap.Geometry.MultiLineString");
301+
expect(geoLine_MultiLineString.id).toContain("SuperMap.Geometry_");
302+
expect(geoLine_MultiLineString.componentTypes[0]).toEqual("SuperMap.Geometry.LineString");
303+
var components = geoLine_MultiLineString.components;
304+
expect(components.length).toEqual(2);
305+
for (var i = 0; i < components.length; i++) {
306+
expect(components[i].CLASS_NAME).toEqual("SuperMap.Geometry.LineString");
307+
expect(components[i].id).toContain("SuperMap.Geometry_");
308+
expect(components[i].componentTypes[0]).toEqual("SuperMap.Geometry.Point");
309+
expect(components[i].componentTypes[1]).toEqual("SuperMap.PointWithMeasure");
310+
expect(components[i].components.length).toEqual(4);
311+
}
312+
serverGeometry.destroy();
313+
});
314+
224315
it('toGeoLinem', function () {
225316
var options = {
226317
id: 1,
@@ -241,4 +332,123 @@ describe('ServerGeometry', function () {
241332
expect(geoLinem.components[0].components.length).toEqual(3);
242333
serverGeometry.destroy();
243334
});
335+
336+
//将服务端的面几何对象转换为客户端几何对象。
337+
it('toGeoRegion', function () {
338+
var options = {
339+
id: 'test',
340+
parts: [4, 4],
341+
points: [{"y": -4377.027184298267, "x": 4020.0045221720466},
342+
{"y": -4381.569363260499, "x": 4057.0600591960642},
343+
{"y": -4382.60877717323, "x": 4064.595810063362},
344+
{"y": -4382.939424428795, "x": 4076.2655245045335},
345+
{"y": -4382.333381109672, "x": 4215.049444583775},
346+
{"y": -4382.389670274902, "x": 4247.756955878764},
347+
{"y": -4382.285032149534, "x": 4428.153084011883},
348+
{"y": -4383.017499027105, "x": 4647.579232906979}],
349+
type: SuperMap.GeometryType.LINE
350+
};
351+
var serverGeometry = new SuperMap.ServerGeometry(options);
352+
var geoRegion = serverGeometry.toGeoRegion();
353+
expect(geoRegion).not.toBeNull();
354+
expect(geoRegion.CLASS_NAME).toEqual("SuperMap.Geometry.MultiPolygon");
355+
expect(geoRegion.componentTypes[0]).toEqual("SuperMap.Geometry.Polygon");
356+
expect(geoRegion.components.length).toEqual(2);
357+
for (var i = 0; i < geoRegion.components.length; i++) {
358+
expect(geoRegion.components[i].CLASS_NAME).toEqual("SuperMap.Geometry.Polygon");
359+
var components = geoRegion.components[i].components[0].components;
360+
expect(components.length).toEqual(5);
361+
for(var j = 0;j<components.length;j++){
362+
expect(components[j].type).toEqual("Point");
363+
expect(components[j].x).not.toBeNaN();
364+
expect(components[j].y).not.toBeNaN();
365+
}
366+
}
367+
serverGeometry.destroy();
368+
});
369+
370+
//将服务端的面几何对象转换为客户端几何对象
371+
it('toGeoRegionEPS_Null', function () {
372+
var serverGeometry = new SuperMap.ServerGeometry({parts: []});
373+
var geoRegionEPS_Null = serverGeometry.toGeoRegionEPS();
374+
expect(geoRegionEPS_Null).toBeNull();
375+
serverGeometry.destroy();
376+
});
377+
378+
it('toGeoRegionEPS_parts =[1]', function () {
379+
var options = {
380+
id: 'test',
381+
parts: [1],
382+
points: [{"y": -4377.027184298267, "x": 4020.0045221720466},
383+
{"y": -4381.569363260499, "x": 4057.0600591960642},
384+
{"y": -4382.60877717323, "x": 4064.595810063362}],
385+
};
386+
var serverGeometry = new SuperMap.ServerGeometry(options);
387+
var geoRegionEPS = serverGeometry.toGeoRegionEPS();
388+
expect(geoRegionEPS).not.toBeNull();
389+
expect(geoRegionEPS.CLASS_NAME).toEqual("SuperMap.Geometry.MultiPolygon");
390+
expect(geoRegionEPS.componentTypes[0]).toEqual("SuperMap.Geometry.Polygon");
391+
expect(geoRegionEPS.components.length).toEqual(1);
392+
var component = geoRegionEPS.components[0].components[0];
393+
expect(component.CLASS_NAME).toEqual("SuperMap.Geometry.LinearRing");
394+
expect(component.componentTypes[0]).toEqual("SuperMap.Geometry.Point");
395+
var components = component.components;
396+
expect(components.length).toEqual(4);
397+
for (var i = 0; i < components.length; i++) {
398+
expect(components[i].type).toEqual("Point");
399+
expect(components[i].x).not.toBeNaN();
400+
expect(components[i].y).not.toBeNaN();
401+
expect(components[0]).toEqual(components[3]);
402+
}
403+
serverGeometry.destroy();
404+
});
405+
406+
it('toGeoRegionEPS_parts = [4, 4]', function () {
407+
var options = {
408+
id: 'test',
409+
parts: [4, 4],
410+
points: [{"y": -4377.027184298267, "x": 4020.0045221720466},
411+
{"y": -4381.569363260499, "x": 4057.0600591960642},
412+
{"y": -4382.60877717323, "x": 4064.595810063362},
413+
{"y": -4382.939424428795, "x": 4076.2655245045335},
414+
{"y": -4382.333381109672, "x": 4215.049444583775},
415+
{"y": -4382.389670274902, "x": 4247.756955878764},
416+
{"y": -4382.285032149534, "x": 4428.153084011883},
417+
{"y": -4383.017499027105, "x": 4647.579232906979}],
418+
type: SuperMap.GeometryType.LINE
419+
};
420+
var serverGeometry = new SuperMap.ServerGeometry(options);
421+
var geoRegionEPS = serverGeometry.toGeoRegionEPS();
422+
expect(geoRegionEPS).not.toBeNull();
423+
expect(geoRegionEPS.CLASS_NAME).toEqual("SuperMap.Geometry.MultiPolygon");
424+
expect(geoRegionEPS.componentTypes[0]).toEqual("SuperMap.Geometry.Polygon");
425+
expect(geoRegionEPS.components.length).toEqual(2);
426+
for (var i = 0; i < geoRegionEPS.components.length; i++) {
427+
expect(geoRegionEPS.components[i].CLASS_NAME).toEqual("SuperMap.Geometry.Polygon");
428+
expect(geoRegionEPS.components[i].bounds).not.toBeNull();
429+
expect(geoRegionEPS.components[i].components[0].CLASS_NAME).toEqual("SuperMap.Geometry.LinearRing");
430+
var components = geoRegionEPS.components[i].components[0].components;
431+
expect(components.length).toEqual(5);
432+
for (var j = 0; j < components.length; j++) {
433+
expect(components[j].type).toEqual("Point");
434+
expect(components[j].x).not.toBeNaN();
435+
expect(components[j].y).not.toBeNaN();
436+
}
437+
}
438+
serverGeometry.destroy();
439+
});
440+
441+
it('IsClockWise', function () {
442+
var points1= [{"y": -4377.027184298267, "x": 4020.0045221720466},
443+
{"y": -4381.569363260499, "x": 4057.0600591960642},
444+
{"y": -4382.60877717323, "x": 4064.595810063362},
445+
{"y": -4382.939424428795, "x": 4076.2655245045335},
446+
{"y": -4377.027184298267, "x": 4020.0045221720466}];
447+
var result1 = SuperMap.ServerGeometry.IsClockWise(points1);
448+
expect(result1).toEqual(23.052148170943838);
449+
var points2 = [{"y": -4377.027184298267, "x": 4020.0045221720466},
450+
{"y": -4381.569363260499, "x": 4057.0600591960642}];
451+
var result2 = SuperMap.ServerGeometry.IsClockWise(points2);
452+
expect(result2).toEqual(0);
453+
});
244454
});

test/test-main-common.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ require('./common/iServer/ComputeWeightMatrixServiceSpec.js');
1212
require('./common/iServer/DensityAnalystServiceSpec.js');
1313
require('./common/iServer/EditFeaturesServiceSpec.js');
1414
require('./common/iServer/FacilityAnalystStreamParametersSpec.js');
15+
require('./common/iServer/FacilityAnalystUpstream3DParametersSpec.js');
1516
require('./common/iServer/FieldStatisticServiceSpec.js');
1617
require('./common/iServer/FindClosestFacilitiesServiceSpec.js');
1718
require('./common/iServer/FindLocationServiceSpec.js');
@@ -37,6 +38,7 @@ require('./common/iServer/LabelMixedStyleSpec.js');
3738
require('./common/iServer/MapServiceSpec.js');
3839
require('./common/iServer/MathExpressionAnalysisServiceSpec.js');
3940
require('./common/iServer/MeasureServiceSpec.js');
41+
require('./common/iServer/OverlapDisplayedOptionsSpec.js');
4042
require('./common/iServer/OverlayAnalystServiceSpec.js');
4143
require('./common/iServer/QueryByBoundsServiceSpec.js');
4244
require('./common/iServer/QueryByDistanceServiceSpec.js');
@@ -95,6 +97,7 @@ require('./common/commonTypes/BaseTypesSpec.js');
9597
require('./common/commonTypes/BoundsSpec.js');
9698
require('./common/commonTypes/DateSpec.js');
9799
require('./common/commonTypes/LonLatSpec.js');
100+
require('./common/commonTypes/PixelSpec.js');
98101
require('./common/commonTypes/VectorSpec.js');
99102
require('./common/commonTypes/geometry/CollectionSpec.js');
100103
require('./common/commonTypes/geometry/GeoTextSpec.js');

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy