From 7b39dddb25032b83a4aead0c80979fc641786d0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ca=C3=ADque=20Fortunato?= Date: Sat, 29 Mar 2025 15:45:37 -0300 Subject: [PATCH 1/2] Fix test to suppress warning on allocate_budget_to_maximize_response --- tests/mmm/test_mmm.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/tests/mmm/test_mmm.py b/tests/mmm/test_mmm.py index dd24b6293..944b748c8 100644 --- a/tests/mmm/test_mmm.py +++ b/tests/mmm/test_mmm.py @@ -19,6 +19,7 @@ import pymc as pm import pytest import xarray as xr +import warnings from matplotlib import pyplot as plt from pymc_marketing.mmm.budget_optimizer import optimizer_xarray_builder @@ -580,13 +581,15 @@ def test_allocate_budget_to_maximize_response_bad_noise_level( noise_level = "bad_noise_level" with pytest.raises(ValueError, match="noise_level must be a float"): - mmm_fitted.allocate_budget_to_maximize_response( - budget=budget, - time_granularity=time_granularity, - num_periods=num_periods, - budget_bounds=budget_bounds, - noise_level=noise_level, - ) + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + mmm_fitted.allocate_budget_to_maximize_response( + budget=budget, + time_granularity=time_granularity, + num_periods=num_periods, + budget_bounds=budget_bounds, + noise_level=noise_level, + ) @pytest.mark.parametrize( argnames="original_scale", From c7341e1f9e6ad0afd92e9a7b176bf1fa689ec6eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ca=C3=ADque=20Fortunato?= Date: Sat, 29 Mar 2025 17:14:23 -0300 Subject: [PATCH 2/2] refactor(tests): replace deprecated method with optimize_budget in budget allocation test --- tests/mmm/test_mmm.py | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/tests/mmm/test_mmm.py b/tests/mmm/test_mmm.py index 944b748c8..715e6432e 100644 --- a/tests/mmm/test_mmm.py +++ b/tests/mmm/test_mmm.py @@ -19,7 +19,6 @@ import pymc as pm import pytest import xarray as xr -import warnings from matplotlib import pyplot as plt from pymc_marketing.mmm.budget_optimizer import optimizer_xarray_builder @@ -572,24 +571,18 @@ def test_allocate_budget_to_maximize_response_bad_noise_level( ) -> None: budget = 2.0 num_periods = 8 - time_granularity = "weekly" budget_bounds = optimizer_xarray_builder( value=[[0.5, 1.2], [0.5, 1.5]], channel=["channel_1", "channel_2"], bound=["lower", "upper"], ) - noise_level = "bad_noise_level" with pytest.raises(ValueError, match="noise_level must be a float"): - with warnings.catch_warnings(): - warnings.simplefilter("ignore") - mmm_fitted.allocate_budget_to_maximize_response( - budget=budget, - time_granularity=time_granularity, - num_periods=num_periods, - budget_bounds=budget_bounds, - noise_level=noise_level, - ) + mmm_fitted.optimize_budget( + budget=budget, + num_periods=num_periods, + budget_bounds=budget_bounds, + ) @pytest.mark.parametrize( argnames="original_scale",