|
7 | 7 |
|
8 | 8 | class MultiPolygonTest extends BaseTestCase
|
9 | 9 | {
|
10 |
| - public function testFromWKT() |
11 |
| - { |
12 |
| - $polygon = MultiPolygon::fromWKT( |
13 |
| - 'MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)), ((-1 -1,-1 -2,-2 -2,-2 -1,-1 -1)))' |
14 |
| - ); |
15 |
| - $this->assertInstanceOf(MultiPolygon::class, $polygon); |
16 |
| - |
17 |
| - $this->assertEquals(2, $polygon->count()); |
18 |
| - } |
| 10 | + /** |
| 11 | + * @var MultiPolygon |
| 12 | + */ |
| 13 | + private $multiPolygon; |
19 | 14 |
|
20 |
| - public function testToWKT() |
| 15 | + protected function setUp() |
21 | 16 | {
|
22 | 17 | $collection1 = new LineString(
|
23 | 18 | [
|
@@ -54,11 +49,34 @@ public function testToWKT()
|
54 | 49 |
|
55 | 50 | $polygon2 = new Polygon([$collection3]);
|
56 | 51 |
|
57 |
| - $multipolygon = new MultiPolygon([$polygon1, $polygon2]); |
| 52 | + $this->multiPolygon = new MultiPolygon([$polygon1, $polygon2]); |
| 53 | + } |
| 54 | + |
| 55 | + public function testFromWKT() |
| 56 | + { |
| 57 | + $polygon = MultiPolygon::fromWKT( |
| 58 | + 'MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)), ((-1 -1,-1 -2,-2 -2,-2 -1,-1 -1)))' |
| 59 | + ); |
| 60 | + $this->assertInstanceOf(MultiPolygon::class, $polygon); |
| 61 | + |
| 62 | + $this->assertEquals(2, $polygon->count()); |
| 63 | + } |
| 64 | + |
58 | 65 |
|
| 66 | + public function testToWKT() |
| 67 | + { |
59 | 68 | $this->assertEquals(
|
60 | 69 | 'MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0),(10 10,20 10,20 20,10 20,10 10)),((100 100,200 100,200 200,100 200,100 100)))',
|
61 |
| - $multipolygon->toWKT() |
| 70 | + $this->multiPolygon->toWKT() |
| 71 | + ); |
| 72 | + } |
| 73 | + |
| 74 | + public function testJsonSerialize() |
| 75 | + { |
| 76 | + $this->assertInstanceOf(\GeoJson\Geometry\MultiPolygon::class, $this->multiPolygon->jsonSerialize()); |
| 77 | + $this->assertSame( |
| 78 | + '{"type":"MultiPolygon","coordinates":[[[[0,0],[0,1],[1,1],[1,0],[0,0]],[[10,10],[10,20],[20,20],[20,10],[10,10]]],[[[100,100],[100,200],[200,200],[200,100],[100,100]]]]}', |
| 79 | + json_encode($this->multiPolygon) |
62 | 80 | );
|
63 | 81 | }
|
64 | 82 | }
|
0 commit comments