@@ -1577,24 +1577,28 @@ def test_query_no_ts_exists(self, retrieve_endpoints: list[Callable]) -> None:
15771577 def test_timezone_raw_query_dst_transitions (
15781578 self , all_retrieve_endpoints : list [Callable ], dps_queries_dst_transitions : list [DatapointsQuery ]
15791579 ) -> None :
1580- expected_index = pd .to_datetime (
1581- [
1582- # to summer
1583- "1991-03-31 00:20:05.911+01:00" ,
1584- "1991-03-31 00:39:49.780+01:00" ,
1585- "1991-03-31 03:21:08.144+02:00" ,
1586- "1991-03-31 03:28:06.963+02:00" ,
1587- "1991-03-31 03:28:51.903+02:00" ,
1588- # to winter
1589- "1991-09-29 01:02:37.949+02:00" ,
1590- "1991-09-29 02:09:29.699+02:00" ,
1591- "1991-09-29 02:11:39.983+02:00" ,
1592- "1991-09-29 02:10:59.442+01:00" ,
1593- "1991-09-29 02:52:26.212+01:00" ,
1594- "1991-09-29 04:12:02.558+01:00" ,
1595- ],
1596- utc = True , # pandas is not great at parameter names
1597- ).tz_convert ("Europe/Oslo" )
1580+ expected_index = (
1581+ pd .to_datetime (
1582+ [
1583+ # to summer
1584+ "1991-03-31 00:20:05.911+01:00" ,
1585+ "1991-03-31 00:39:49.780+01:00" ,
1586+ "1991-03-31 03:21:08.144+02:00" ,
1587+ "1991-03-31 03:28:06.963+02:00" ,
1588+ "1991-03-31 03:28:51.903+02:00" ,
1589+ # to winter
1590+ "1991-09-29 01:02:37.949+02:00" ,
1591+ "1991-09-29 02:09:29.699+02:00" ,
1592+ "1991-09-29 02:11:39.983+02:00" ,
1593+ "1991-09-29 02:10:59.442+01:00" ,
1594+ "1991-09-29 02:52:26.212+01:00" ,
1595+ "1991-09-29 04:12:02.558+01:00" ,
1596+ ],
1597+ utc = True , # pandas is not great at parameter names
1598+ )
1599+ .tz_convert ("Europe/Oslo" )
1600+ .as_unit ("ms" )
1601+ )
15981602 expected_to_summer_index = expected_index [:5 ]
15991603 expected_to_winter_index = expected_index [5 :]
16001604 for endpoint , convert in zip (all_retrieve_endpoints , (True , True , False )):
@@ -2201,21 +2205,25 @@ def test_timezone_agg_query_dst_transitions(
22012205 ) -> None :
22022206 expected_values1 = [- 0.0408386913634 , - 0.1204416510548 , - 0.1519269888052 , 0.00331827604225 ]
22032207 expected_values2 = [- 0.0503489023269 , 0.190474485259 , 0.102249925079 , - 0.1000846729966 ]
2204- expected_index = pd .to_datetime (
2205- [
2206- # to summer
2207- "2023-03-26 00:00:00+01:00" ,
2208- "2023-03-26 01:00:00+01:00" ,
2209- "2023-03-26 03:00:00+02:00" ,
2210- "2023-03-26 04:00:00+02:00" ,
2211- # to winter
2212- "2023-10-29 01:00:00+02:00" ,
2213- "2023-10-29 02:00:00+02:00" ,
2214- "2023-10-29 02:00:00+01:00" ,
2215- "2023-10-29 03:00:00+01:00" ,
2216- ],
2217- utc = True , # pandas is still not great at parameter names
2218- ).tz_convert ("Europe/Oslo" )
2208+ expected_index = (
2209+ pd .to_datetime (
2210+ [
2211+ # to summer
2212+ "2023-03-26 00:00:00+01:00" ,
2213+ "2023-03-26 01:00:00+01:00" ,
2214+ "2023-03-26 03:00:00+02:00" ,
2215+ "2023-03-26 04:00:00+02:00" ,
2216+ # to winter
2217+ "2023-10-29 01:00:00+02:00" ,
2218+ "2023-10-29 02:00:00+02:00" ,
2219+ "2023-10-29 02:00:00+01:00" ,
2220+ "2023-10-29 03:00:00+01:00" ,
2221+ ],
2222+ utc = True , # pandas is still not great at parameter names
2223+ )
2224+ .tz_convert ("Europe/Oslo" )
2225+ .as_unit ("ms" )
2226+ )
22192227 expected_to_summer_index = expected_index [:4 ]
22202228 expected_to_winter_index = expected_index [4 :]
22212229 for endpoint , convert in zip (all_retrieve_endpoints , (True , True , False )):
@@ -2449,7 +2457,8 @@ def test_raw_dps(
24492457 assert res_df .isna ().sum ().sum () == 0
24502458 assert res_df .shape == (exp_len , n_ts )
24512459 assert res_df .dtypes .nunique () == 1
2452- assert res_df .dtypes .iloc [0 ] == exp_dtype
2460+ dtype = res_df .dtypes .iloc [0 ]
2461+ assert dtype == exp_dtype or (exp_dtype is object and pd .api .types .is_string_dtype (dtype ))
24532462
24542463 @pytest .mark .parametrize ("uniform, exp_n_ts_delta, exp_n_nans_step_interp" , ((True , 1 , 1 ), (False , 2 , 0 )))
24552464 def test_agg_uniform_true_false (
@@ -2504,8 +2513,8 @@ def test_low_limits(
25042513 )
25052514 # We have duplicates in df.columns, so to test specific columns, we reset first:
25062515 res_df .columns = c1 , c2 , c3 , c4 , * cx = range (len (res_df .columns ))
2507- assert res_df [[c1 , c2 ]].dtypes . unique () == [ object ]
2508- assert res_df [[c3 , c4 , * cx ]].dtypes . unique () == [ np .float64 ]
2516+ assert all ( pd . api . types . is_string_dtype ( dt ) for dt in res_df [[c1 , c2 ]].dtypes )
2517+ assert ( res_df [[c3 , c4 , * cx ]].dtypes == np .float64 ). all ()
25092518 assert (res_df [[c1 , c3 , * cx ]].count () == [limit ] * (len (cx ) + 2 )).all ()
25102519 assert (res_df [[c2 , c4 ]].count () == [limit + 2 ] * 2 ).all ()
25112520
0 commit comments