@@ -157,4 +157,31 @@ SUITE(polygonToCells_reported) {
157157 t_assert (actualNumIndexes == 4353 , "got expected polygonToCells size" );
158158 free (hexagons );
159159 }
160+
161+ TEST (h3pg_56 ) {
162+ LatLng testVerts [] = {{H3_EXPORT (degsToRads )(72.1254917 ),
163+ H3_EXPORT (degsToRads )(-110.0018386 )},
164+ {H3_EXPORT (degsToRads )(72.5810473 ),
165+ H3_EXPORT (degsToRads )(-110.0018638 )},
166+ {H3_EXPORT (degsToRads )(72.108825 ),
167+ H3_EXPORT (degsToRads )(-110.0018377 )},
168+ {H3_EXPORT (degsToRads )(72.1254917 ),
169+ H3_EXPORT (degsToRads )(-110.0018386 )}};
170+ GeoLoop testGeoLoop = {.numVerts = 4 , .verts = testVerts };
171+ GeoPolygon testPolygon ;
172+ testPolygon .geoloop = testGeoLoop ;
173+ testPolygon .numHoles = 0 ;
174+
175+ int res = 8 ;
176+ int numHexagons = H3_EXPORT (maxPolygonToCellsSize )(& testPolygon , res );
177+ t_assert (numHexagons == 153382344 ,
178+ "number of hexagons estimated is very large" );
179+ H3Index * hexagons = calloc (numHexagons , sizeof (H3Index ));
180+
181+ H3_EXPORT (polygonToCells )(& testPolygon , res , hexagons );
182+ int actualNumIndexes = countNonNullIndexes (hexagons , numHexagons );
183+
184+ t_assert (actualNumIndexes == 0 , "actual number of cells is zero" );
185+ free (hexagons );
186+ }
160187}
0 commit comments