Skip to content

Commit a0a159c

Browse files
authored
[GH-3084] Align GeoPandas test comparison by index (results are unordered) (#3085)
1 parent f01e523 commit a0a159c

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

python/tests/geopandas/test_geopandas_base.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,10 @@ def check_sgpd_equals_gpd(
5858
assert isinstance(actual, GeoSeries)
5959
assert isinstance(expected, gpd.GeoSeries)
6060
assert actual.name == expected.name, "results are of different names"
61-
sgpd_result = actual.to_geopandas()
61+
# Sedona's GeoPandas API does not guarantee the row ordering of results,
62+
# so align both sides by index before comparing element-wise.
63+
sgpd_result = actual.to_geopandas().sort_index()
64+
expected = expected.sort_index()
6265
assert len(sgpd_result) == len(expected), "results are of different lengths"
6366
for a, e in zip(sgpd_result, expected):
6467
if a is None or e is None:
@@ -69,7 +72,7 @@ def check_sgpd_equals_gpd(
6972
continue
7073
cls.assert_geometry_almost_equal(a, e, tolerance)
7174

72-
assert_index_equal(actual.index.to_pandas(), expected.index)
75+
assert_index_equal(sgpd_result.index, expected.index)
7376

7477
@classmethod
7578
def check_sgpd_df_equals_gpd_df(

0 commit comments

Comments
 (0)