3 <script src="../../lib/OpenLayers.js"></script>
4 <script type="text/javascript">
5 var point = new OpenLayers.Geometry.Point(10, 15);
8 function test_MultiPoint_constructor (t) {
10 var multipoint = new OpenLayers.Geometry.MultiPoint();
11 t.ok( multipoint instanceof OpenLayers.Geometry.MultiPoint, "new OpenLayers.Geometry.MultiPoint returns multipoint object" );
12 t.eq( multipoint.CLASS_NAME, "OpenLayers.Geometry.MultiPoint", "multipoint.CLASS_NAME is set correctly");
15 function test_MultiPoint_constructor (t) {
17 var multipoint = new OpenLayers.Geometry.MultiPoint([point]);
18 t.ok( multipoint instanceof OpenLayers.Geometry.MultiPoint, "new OpenLayers.Geometry.MultiPoint returns multipoint object" );
19 t.eq( multipoint.CLASS_NAME, "OpenLayers.Geometry.MultiPoint", "multipoint.CLASS_NAME is set correctly");
20 t.eq( multipoint.components.length, 1, "multipolygon.components.length is set correctly");
23 function test_MultiPoint_move(t) {
26 var multipoint = new OpenLayers.Geometry.MultiPoint([point]);
30 var dx = 10 * Math.random();
31 var dy = 10 * Math.random();
32 multipoint.move(dx, dy);
33 t.eq(multipoint.components[0].x, x + dx, "move() correctly modifies x");
34 t.eq(multipoint.components[0].y, y + dy, "move() correctly modifies y");
37 function test_distanceTo(t) {
39 new OpenLayers.Geometry.Point(0, 0),
40 new OpenLayers.Geometry.Point(10, 0),
41 new OpenLayers.Geometry.Point(0, 9),
42 new OpenLayers.Geometry.Point(-5, 0),
43 new OpenLayers.Geometry.Point(-5, 4)
47 new OpenLayers.Geometry.MultiPoint([points[0], points[1]]),
48 new OpenLayers.Geometry.MultiPoint([points[2], points[3]]),
53 got: geoms[0].distanceTo(geoms[0]),
56 got: geoms[0].distanceTo(geoms[1]),
59 got: geoms[1].distanceTo(geoms[2]),
62 got: geoms[0].distanceTo(geoms[1], {details: true}),
69 got: geoms[1].distanceTo(geoms[0], {details: true}),
76 got: geoms[1].distanceTo(geoms[2], {details: true}),
85 for(var i=0; i<cases.length; ++i) {
86 t.eq(cases[i].got, cases[i].expected, "case " + i);
91 function test_MultiPoint_equals(t) {
94 var x = Math.random() * 100;
95 var y = Math.random() * 100;
96 var geometry = new OpenLayers.Geometry.MultiPoint(
97 [new OpenLayers.Geometry.Point(x, y)]);
98 var equal = new OpenLayers.Geometry.MultiPoint(
99 [new OpenLayers.Geometry.Point(x, y)]);
100 var offX = new OpenLayers.Geometry.MultiPoint(
101 [new OpenLayers.Geometry.Point(x + 1, y)]);
102 var offY = new OpenLayers.Geometry.MultiPoint(
103 [new OpenLayers.Geometry.Point(x, y + 1)]);
104 t.ok(geometry.equals(equal),
105 "equals() returns true for a geometry with equivalent coordinates");
106 t.ok(!geometry.equals(offX),
107 "equals() returns false for a geometry with offset x");
108 t.ok(!geometry.equals(offY),
109 "equals() returns false for a geometry with offset y");
112 function test_MultiPoint_clone(t) {
115 var x = Math.random() * 100;
116 var y = Math.random() * 100;
117 var geometry = new OpenLayers.Geometry.MultiPoint(
118 [new OpenLayers.Geometry.Point(x, y)]);
119 var clone = geometry.clone();
120 t.ok(clone instanceof OpenLayers.Geometry.MultiPoint,
121 "clone() creates an OpenLayers.Geometry.MultiPoint");
122 t.ok(geometry.equals(clone), "clone has equivalent coordinates");