@@ -45,7 +45,71 @@ public function testIteratorAggregate() {
45
45
}
46
46
47
47
public function testArrayAccess () {
48
+ $ point0 = new Point (0 , 0 );
49
+ $ point1 = new Point (1 , 1 );
50
+ $ multipoint = new MultiPoint ([$ point0 , $ point1 ]);
48
51
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 ));
49
113
}
50
114
51
115
public function testJsonSerialize ()
0 commit comments