Skip to content

Commit 4a3c524

Browse files
committed
Added tests for ArrayAccess, prependPoint, appendPoint, insertPoint.
(cherry picked from commit 9a26d66)
1 parent 719af7e commit 4a3c524

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

tests/Unit/Types/MultiPointTest.php

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,71 @@ public function testIteratorAggregate() {
4545
}
4646

4747
public function testArrayAccess() {
48+
$point0 = new Point(0, 0);
49+
$point1 = new Point(1, 1);
50+
$multipoint = new MultiPoint([$point0, $point1]);
4851

52+
$this->assertEquals($point0, $multipoint[0]);
53+
$this->assertEquals($point1, $multipoint[1]);
54+
$point2 = new Point(2, 2);
55+
56+
$multipoint[] = $point2;
57+
$this->assertEquals($point2, $multipoint[2]);
58+
59+
unset($multipoint[0]);
60+
$this->assertNull($multipoint[0]);
61+
$this->assertEquals($point1, $multipoint[1]);
62+
$this->assertEquals($point2, $multipoint[2]);
63+
64+
$point100 = new Point(100, 100);
65+
$multipoint[100] = $point100;
66+
$this->assertEquals($point100, $multipoint[100]);
67+
68+
$this->expectException(InvalidArgumentException::class);
69+
$multipoint[] = 1;
70+
71+
}
72+
73+
public function testPrependPoint() {
74+
$point1 = new Point(1, 1);
75+
$point2 = new Point(2, 2);
76+
$multipoint = new MultiPoint([$point1, $point2]);
77+
78+
$point0 = new Point(0, 0);
79+
$multipoint->prependPoint($point0);
80+
81+
$this->assertEquals($point0, $multipoint->getPoints()[0]);
82+
$this->assertEquals($point1, $multipoint->getPoints()[1]);
83+
$this->assertEquals($point2, $multipoint->getPoints()[2]);
84+
}
85+
86+
public function testAppendPoint() {
87+
$point0 = new Point(0, 0);
88+
$point1 = new Point(1, 1);
89+
$multipoint = new MultiPoint([$point0, $point1]);
90+
91+
$point2 = new Point(2, 2);
92+
$multipoint->appendPoint($point2);
93+
94+
$this->assertEquals($point0, $multipoint->getPoints()[0]);
95+
$this->assertEquals($point1, $multipoint->getPoints()[1]);
96+
$this->assertEquals($point2, $multipoint->getPoints()[2]);
97+
}
98+
99+
public function testInsertPoint() {
100+
$point1 = new Point(1, 1);
101+
$point3 = new Point(3, 3);
102+
$multipoint = new MultiPoint([$point1, $point3]);
103+
104+
$point2 = new Point(2, 2);
105+
$multipoint->insertPoint(1, $point2);
106+
107+
$this->assertEquals($point1, $multipoint->getPoints()[0]);
108+
$this->assertEquals($point2, $multipoint->getPoints()[1]);
109+
$this->assertEquals($point3, $multipoint->getPoints()[2]);
110+
111+
$this->expectException(InvalidArgumentException::class);
112+
$multipoint->insertPoint(100, new Point(100,100));
49113
}
50114

51115
public function testJsonSerialize()

0 commit comments

Comments
 (0)