def test_set_crs(self, example_positionfixes):
     """Test if crs will be set."""
     pfs = example_positionfixes.copy()
     example_positionfixes.crs = "EPSG:2056"
     # check if the crs is correctly set
     pfs.crs = None
     pfs = _trackintel_model(pfs, crs="EPSG:2056")
     assert_geodataframe_equal(example_positionfixes, pfs)
 def test_tz_cols(self, example_positionfixes):
     """Test if columns get casted to datetimes."""
     pfs = example_positionfixes.copy()
     pfs["tracked_at"] = [
         "1971-01-01 04:00:00", "1971-01-01 05:00:00", "1971-01-02 07:00:00"
     ]
     pfs = _trackintel_model(pfs, tz_cols=["tracked_at"], tz="UTC")
     assert_geodataframe_equal(pfs, example_positionfixes)
 def test_setting_geometry(self, example_positionfixes):
     """Test the setting of the geometry."""
     # create pfs as dataframe
     pfs = pd.DataFrame(example_positionfixes[["user_id", "tracked_at"]],
                        copy=True)
     pfs["geom"] = example_positionfixes.geometry
     # check if geom column gets assigned to geometry
     pfs = _trackintel_model(pfs, geom_col="geom")
     assert_geodataframe_equal(example_positionfixes, pfs)
 def test_multiple_timezones_in_col(self, example_positionfixes):
     """Test if datetimes in column don't have the same timezone get casted to UTC."""
     example_positionfixes["tracked_at"] = [
         pd.Timestamp("2021-08-01 16:00:00", tz="Europe/Amsterdam"),
         pd.Timestamp("2021-08-01 16:00:00", tz="Asia/Muscat"),
         pd.Timestamp("2021-08-01 16:00:00", tz="Pacific/Niue"),
     ]
     pfs = _trackintel_model(example_positionfixes, tz_cols=["tracked_at"])
     example_positionfixes["tracked_at"] = pd.to_datetime(
         example_positionfixes["tracked_at"], utc=True)
     assert_geodataframe_equal(pfs, example_positionfixes)
 def test_renaming(self, example_positionfixes):
     """Test renaming of columns."""
     example_positionfixes["additional_col"] = [11, 22, 33]
     pfs = example_positionfixes.copy()
     # create new column mapping and revert it
     columns = {
         "user_id": "_user_id",
         "tracked_at": "_tracked_at",
         "additional_col": "_additional_col"
     }
     columns_rev = {val: key for key, val in columns.items()}
     # check if columns get renamed correctly
     pfs.rename(columns=columns, inplace=True)
     pfs = _trackintel_model(pfs, columns_rev)
     assert_geodataframe_equal(example_positionfixes, pfs)
 def test_error_no_set_geometry(self, example_positionfixes):
     """Test if AttributeError will be raised if no geom_col is provided and GeoDataFrame has no geometry."""
     pfs = gpd.GeoDataFrame(example_positionfixes[["user_id",
                                                   "tracked_at"]])
     with pytest.raises(AttributeError):
         _trackintel_model(pfs)
 def test_already_set_geometry(self, example_positionfixes):
     """Test if default checks if GeoDataFrame already has a geometry."""
     pfs = _trackintel_model(example_positionfixes)
     assert_geodataframe_equal(pfs, example_positionfixes)