@@ -37,223 +37,173 @@ suite.addBatch({
3737 var calls = 0 ;
3838 stream ( { type : "Sphere" } , {
3939 sphere : function ( ) {
40- ++ calls ;
4140 assert . equal ( arguments . length , 0 ) ;
41+ assert . equal ( ++ calls , 1 ) ;
4242 }
4343 } ) ;
4444 assert . equal ( calls , 1 ) ;
4545 } ,
4646 "Point ↦ point" : function ( stream ) {
47- var calls = 0 ;
48- stream ( { type : "Point" , coordinates : [ 1 , 2 ] } , {
49- point : function ( x , y ) {
50- ++ calls ;
51- assert . equal ( arguments . length , 2 ) ;
52- assert . equal ( x , 1 ) ;
53- assert . equal ( y , 2 ) ;
47+ var calls = 0 , coordinates = 0 ;
48+ stream ( { type : "Point" , coordinates : [ 1 , 2 , 3 ] } , {
49+ point : function ( x , y , z ) {
50+ assert . equal ( arguments . length , 3 ) ;
51+ assert . equal ( x , ++ coordinates ) ;
52+ assert . equal ( y , ++ coordinates ) ;
53+ assert . equal ( z , ++ coordinates ) ;
54+ assert . equal ( ++ calls , 1 ) ;
5455 }
5556 } ) ;
5657 assert . equal ( calls , 1 ) ;
5758 } ,
5859 "MultiPoint ↦ point*" : function ( stream ) {
59- var calls = 0 ;
60- stream ( { type : "MultiPoint" , coordinates : [ [ 1 , 2 ] , [ 3 , 4 ] ] } , {
61- point : function ( x , y ) {
62- assert . equal ( arguments . length , 2 ) ;
63- if ( ++ calls === 1 ) {
64- assert . equal ( x , 1 ) ;
65- assert . equal ( y , 2 ) ;
66- } else {
67- assert . equal ( x , 3 ) ;
68- assert . equal ( y , 4 ) ;
69- }
60+ var calls = 0 , coordinates = 0 ;
61+ stream ( { type : "MultiPoint" , coordinates : [ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] ] } , {
62+ point : function ( x , y , z ) {
63+ assert . equal ( arguments . length , 3 ) ;
64+ assert . equal ( x , ++ coordinates ) ;
65+ assert . equal ( y , ++ coordinates ) ;
66+ assert . equal ( z , ++ coordinates ) ;
67+ assert . isTrue ( 1 <= ++ calls && calls <= 2 ) ;
7068 }
7169 } ) ;
7270 assert . equal ( calls , 2 ) ;
7371 } ,
7472 "LineString ↦ lineStart, point{2,}, lineEnd" : function ( stream ) {
75- var calls = 0 ;
76- stream ( { type : "LineString" , coordinates : [ [ 1 , 2 ] , [ 3 , 4 ] ] } , {
73+ var calls = 0 , coordinates = 0 ;
74+ stream ( { type : "LineString" , coordinates : [ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] ] } , {
7775 lineStart : function ( ) {
78- assert . equal ( ++ calls , 1 ) ;
7976 assert . equal ( arguments . length , 0 ) ;
77+ assert . equal ( ++ calls , 1 ) ;
8078 } ,
81- point : function ( x , y ) {
82- assert . equal ( arguments . length , 2 ) ;
83- if ( ++ calls === 2 ) {
84- assert . equal ( x , 1 ) ;
85- assert . equal ( y , 2 ) ;
86- } else if ( calls === 3 ) {
87- assert . equal ( x , 3 ) ;
88- assert . equal ( y , 4 ) ;
89- } else {
90- assert . fail ( "too many points" ) ;
91- }
79+ point : function ( x , y , z ) {
80+ assert . equal ( arguments . length , 3 ) ;
81+ assert . equal ( x , ++ coordinates ) ;
82+ assert . equal ( y , ++ coordinates ) ;
83+ assert . equal ( z , ++ coordinates ) ;
84+ assert . isTrue ( 2 <= ++ calls && calls <= 3 ) ;
9285 } ,
9386 lineEnd : function ( ) {
94- assert . equal ( ++ calls , 4 ) ;
9587 assert . equal ( arguments . length , 0 ) ;
88+ assert . equal ( ++ calls , 4 ) ;
9689 }
9790 } ) ;
9891 assert . equal ( calls , 4 ) ;
9992 } ,
10093 "MultiLineString ↦ (lineStart, point{2,}, lineEnd)*" : function ( stream ) {
101- var calls = 0 ;
102- stream ( { type : "MultiLineString" , coordinates : [ [ [ 1 , 2 ] , [ 3 , 4 ] ] , [ [ 5 , 6 ] , [ 7 , 8 ] ] ] } , {
94+ var calls = 0 , coordinates = 0 ;
95+ stream ( { type : "MultiLineString" , coordinates : [ [ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] ] , [ [ 7 , 8 , 9 ] , [ 10 , 11 , 12 ] ] ] } , {
10396 lineStart : function ( ) {
104- ++ calls ;
105- assert . isTrue ( calls === 1 || calls === 5 ) ;
10697 assert . equal ( arguments . length , 0 ) ;
98+ assert . isTrue ( ++ calls === 1 || calls === 5 ) ;
10799 } ,
108- point : function ( x , y ) {
109- ++ calls ;
110- assert . equal ( arguments . length , 2 ) ;
111- if ( calls === 2 ) {
112- assert . equal ( x , 1 ) ;
113- assert . equal ( y , 2 ) ;
114- } else if ( calls === 3 ) {
115- assert . equal ( x , 3 ) ;
116- assert . equal ( y , 4 ) ;
117- } else if ( calls === 6 ) {
118- assert . equal ( x , 5 ) ;
119- assert . equal ( y , 6 ) ;
120- } else if ( calls === 7 ) {
121- assert . equal ( x , 7 ) ;
122- assert . equal ( y , 8 ) ;
123- } else {
124- assert . fail ( "too many points" ) ;
125- }
100+ point : function ( x , y , z ) {
101+ assert . equal ( arguments . length , 3 ) ;
102+ assert . equal ( x , ++ coordinates ) ;
103+ assert . equal ( y , ++ coordinates ) ;
104+ assert . equal ( z , ++ coordinates ) ;
105+ assert . isTrue ( 2 <= ++ calls && calls <= 3 || 6 <= calls && calls <= 7 ) ;
126106 } ,
127107 lineEnd : function ( ) {
128- ++ calls ;
129- assert . isTrue ( calls === 4 || calls === 8 ) ;
130108 assert . equal ( arguments . length , 0 ) ;
109+ assert . isTrue ( ++ calls === 4 || calls === 8 ) ;
131110 }
132111 } ) ;
133112 assert . equal ( calls , 8 ) ;
134113 } ,
135114 "Polygon ↦ polygonStart, lineStart, point{2,}, lineEnd, polygonEnd" : function ( stream ) {
136- var calls = 0 ;
137- stream ( { type : "Polygon" , coordinates : [ [ [ 1 , 2 ] , [ 3 , 4 ] , [ 1 , 2 ] ] , [ [ 5 , 6 ] , [ 7 , 8 ] , [ 5 , 6 ] ] ] } , {
115+ var calls = 0 , coordinates = 0 ;
116+ stream ( { type : "Polygon" , coordinates : [ [ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 1 , 2 , 3 ] ] , [ [ 7 , 8 , 9 ] , [ 10 , 11 , 12 ] , [ 7 , 8 , 9 ] ] ] } , {
138117 polygonStart : function ( ) {
139- ++ calls ;
140- assert . isTrue ( calls === 1 ) ;
141118 assert . equal ( arguments . length , 0 ) ;
119+ assert . isTrue ( ++ calls === 1 ) ;
142120 } ,
143121 lineStart : function ( ) {
144- ++ calls ;
145- assert . isTrue ( calls === 2 || calls === 6 ) ;
146122 assert . equal ( arguments . length , 0 ) ;
123+ assert . isTrue ( ++ calls === 2 || calls === 6 ) ;
147124 } ,
148- point : function ( x , y ) {
149- ++ calls ;
150- assert . equal ( arguments . length , 2 ) ;
151- if ( calls === 3 ) {
152- assert . equal ( x , 1 ) ;
153- assert . equal ( y , 2 ) ;
154- } else if ( calls === 4 ) {
155- assert . equal ( x , 3 ) ;
156- assert . equal ( y , 4 ) ;
157- } else if ( calls === 7 ) {
158- assert . equal ( x , 5 ) ;
159- assert . equal ( y , 6 ) ;
160- } else if ( calls === 8 ) {
161- assert . equal ( x , 7 ) ;
162- assert . equal ( y , 8 ) ;
163- } else {
164- assert . fail ( "too many points" ) ;
165- }
125+ point : function ( x , y , z ) {
126+ assert . equal ( arguments . length , 3 ) ;
127+ assert . equal ( x , ++ coordinates ) ;
128+ assert . equal ( y , ++ coordinates ) ;
129+ assert . equal ( z , ++ coordinates ) ;
130+ assert . isTrue ( 3 <= ++ calls && calls <= 4 || 7 <= calls && calls <= 8 ) ;
166131 } ,
167132 lineEnd : function ( ) {
168- ++ calls ;
169- assert . isTrue ( calls === 5 || calls === 9 ) ;
170133 assert . equal ( arguments . length , 0 ) ;
134+ assert . isTrue ( ++ calls === 5 || calls === 9 ) ;
171135 } ,
172136 polygonEnd : function ( ) {
173- ++ calls ;
174- assert . isTrue ( calls === 10 ) ;
175137 assert . equal ( arguments . length , 0 ) ;
138+ assert . isTrue ( ++ calls === 10 ) ;
176139 }
177140 } ) ;
178141 assert . equal ( calls , 10 ) ;
179142 } ,
180143 "MultiPolygon ↦ (polygonStart, lineStart, point{2,}, lineEnd, polygonEnd)*" : function ( stream ) {
181- var calls = 0 ;
182- stream ( { type : "MultiPolygon" , coordinates : [ [ [ [ 1 , 2 ] , [ 3 , 4 ] , [ 1 , 2 ] ] ] , [ [ [ 5 , 6 ] , [ 7 , 8 ] , [ 5 , 6 ] ] ] ] } , {
144+ var calls = 0 , coordinates = 0 ;
145+ stream ( { type : "MultiPolygon" , coordinates : [ [ [ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 1 , 2 , 3 ] ] ] , [ [ [ 7 , 8 , 9 ] , [ 10 , 11 , 12 ] , [ 7 , 8 , 9 ] ] ] ] } , {
183146 polygonStart : function ( ) {
184- ++ calls ;
185- assert . isTrue ( calls === 1 || calls === 7 ) ;
186147 assert . equal ( arguments . length , 0 ) ;
148+ assert . isTrue ( ++ calls === 1 || calls === 7 ) ;
187149 } ,
188150 lineStart : function ( ) {
189- ++ calls ;
190- assert . isTrue ( calls === 2 || calls === 8 ) ;
191151 assert . equal ( arguments . length , 0 ) ;
152+ assert . isTrue ( ++ calls === 2 || calls === 8 ) ;
192153 } ,
193- point : function ( x , y ) {
194- ++ calls ;
195- assert . equal ( arguments . length , 2 ) ;
196- if ( calls === 3 ) {
197- assert . equal ( x , 1 ) ;
198- assert . equal ( y , 2 ) ;
199- } else if ( calls === 4 ) {
200- assert . equal ( x , 3 ) ;
201- assert . equal ( y , 4 ) ;
202- } else if ( calls === 9 ) {
203- assert . equal ( x , 5 ) ;
204- assert . equal ( y , 6 ) ;
205- } else if ( calls === 10 ) {
206- assert . equal ( x , 7 ) ;
207- assert . equal ( y , 8 ) ;
208- } else {
209- assert . fail ( "too many points" ) ;
210- }
154+ point : function ( x , y , z ) {
155+ assert . equal ( arguments . length , 3 ) ;
156+ assert . equal ( x , ++ coordinates ) ;
157+ assert . equal ( y , ++ coordinates ) ;
158+ assert . equal ( z , ++ coordinates ) ;
159+ assert . isTrue ( 3 <= ++ calls && calls <= 4 || 9 <= calls && calls <= 10 ) ;
211160 } ,
212161 lineEnd : function ( ) {
213- ++ calls ;
214- assert . isTrue ( calls === 5 || calls === 11 ) ;
215162 assert . equal ( arguments . length , 0 ) ;
163+ assert . isTrue ( ++ calls === 5 || calls === 11 ) ;
216164 } ,
217165 polygonEnd : function ( ) {
218- ++ calls ;
219- assert . isTrue ( calls === 6 || calls === 12 ) ;
220166 assert . equal ( arguments . length , 0 ) ;
167+ assert . isTrue ( ++ calls === 6 || calls === 12 ) ;
221168 }
222169 } ) ;
223170 assert . equal ( calls , 12 ) ;
224171 } ,
225172 "Feature ↦ .*" : function ( stream ) {
226- var calls = 0 ;
227- stream ( { type : "Feature" , geometry : { type : "Point" , coordinates : [ 1 , 2 ] } } , {
228- point : function ( x , y ) {
229- ++ calls ;
230- assert . equal ( arguments . length , 2 ) ;
231- assert . equal ( x , 1 ) ;
232- assert . equal ( y , 2 ) ;
173+ var calls = 0 , coordinates = 0 ;
174+ stream ( { type : "Feature" , geometry : { type : "Point" , coordinates : [ 1 , 2 , 3 ] } } , {
175+ point : function ( x , y , z ) {
176+ assert . equal ( arguments . length , 3 ) ;
177+ assert . equal ( x , ++ coordinates ) ;
178+ assert . equal ( y , ++ coordinates ) ;
179+ assert . equal ( z , ++ coordinates ) ;
180+ assert . equal ( ++ calls , 1 ) ;
233181 }
234182 } ) ;
235183 assert . equal ( calls , 1 ) ;
236184 } ,
237185 "FeatureCollection ↦ .*" : function ( stream ) {
238- var calls = 0 ;
239- stream ( { type : "FeatureCollection" , features : [ { type : "Feature" , geometry : { type : "Point" , coordinates : [ 1 , 2 ] } } ] } , {
240- point : function ( x , y ) {
241- ++ calls ;
242- assert . equal ( arguments . length , 2 ) ;
243- assert . equal ( x , 1 ) ;
244- assert . equal ( y , 2 ) ;
186+ var calls = 0 , coordinates = 0 ;
187+ stream ( { type : "FeatureCollection" , features : [ { type : "Feature" , geometry : { type : "Point" , coordinates : [ 1 , 2 , 3 ] } } ] } , {
188+ point : function ( x , y , z ) {
189+ assert . equal ( arguments . length , 3 ) ;
190+ assert . equal ( x , ++ coordinates ) ;
191+ assert . equal ( y , ++ coordinates ) ;
192+ assert . equal ( z , ++ coordinates ) ;
193+ assert . equal ( ++ calls , 1 ) ;
245194 }
246195 } ) ;
247196 assert . equal ( calls , 1 ) ;
248197 } ,
249198 "GeometryCollection ↦ .*" : function ( stream ) {
250- var calls = 0 ;
251- stream ( { type : "GeometryCollection" , geometries : [ { type : "Point" , coordinates : [ 1 , 2 ] } ] } , {
252- point : function ( x , y ) {
253- ++ calls ;
254- assert . equal ( arguments . length , 2 ) ;
255- assert . equal ( x , 1 ) ;
256- assert . equal ( y , 2 ) ;
199+ var calls = 0 , coordinates = 0 ;
200+ stream ( { type : "GeometryCollection" , geometries : [ { type : "Point" , coordinates : [ 1 , 2 , 3 ] } ] } , {
201+ point : function ( x , y , z ) {
202+ assert . equal ( arguments . length , 3 ) ;
203+ assert . equal ( x , ++ coordinates ) ;
204+ assert . equal ( y , ++ coordinates ) ;
205+ assert . equal ( z , ++ coordinates ) ;
206+ assert . equal ( ++ calls , 1 ) ;
257207 }
258208 } ) ;
259209 assert . equal ( calls , 1 ) ;
0 commit comments