@@ -1408,6 +1408,56 @@ def test_invalid_replicate_rscales_rejected(self):
14081408 replicate_method = "JK1" , replicate_rscales = [- 1.0 , 1.0 ],
14091409 )
14101410
1411+ def _replicate_sd_and_data (self ):
1412+ data , rep_cols = TestEstimatorReplicateWeights ._make_staggered_replicate_data ()
1413+ sd = SurveyDesign (
1414+ weights = "weight" , replicate_weights = rep_cols ,
1415+ replicate_method = "JK1" ,
1416+ )
1417+ return data , sd
1418+
1419+ def test_multi_period_did_replicate_rejected (self ):
1420+ """MultiPeriodDiD rejects replicate-weight designs."""
1421+ from diff_diff .estimators import MultiPeriodDiD
1422+ data , sd = self ._replicate_sd_and_data ()
1423+ data ["treated" ] = (data ["first_treat" ] > 0 ).astype (int )
1424+ data ["post" ] = (data ["time" ] >= 3 ).astype (int )
1425+ with pytest .raises (NotImplementedError ):
1426+ MultiPeriodDiD ().fit (
1427+ data , outcome = "outcome" , treatment = "treated" ,
1428+ time = "post" , survey_design = sd ,
1429+ )
1430+
1431+ def test_imputation_did_replicate_rejected (self ):
1432+ """ImputationDiD rejects replicate-weight designs."""
1433+ from diff_diff .imputation import ImputationDiD
1434+ data , sd = self ._replicate_sd_and_data ()
1435+ with pytest .raises (NotImplementedError ):
1436+ ImputationDiD ().fit (
1437+ data , outcome = "outcome" , unit = "unit" , time = "time" ,
1438+ first_treat = "first_treat" , survey_design = sd ,
1439+ )
1440+
1441+ def test_two_stage_did_replicate_rejected (self ):
1442+ """TwoStageDiD rejects replicate-weight designs."""
1443+ from diff_diff .two_stage import TwoStageDiD
1444+ data , sd = self ._replicate_sd_and_data ()
1445+ with pytest .raises (NotImplementedError ):
1446+ TwoStageDiD ().fit (
1447+ data , outcome = "outcome" , unit = "unit" , time = "time" ,
1448+ first_treat = "first_treat" , survey_design = sd ,
1449+ )
1450+
1451+ def test_bacon_replicate_rejected (self ):
1452+ """BaconDecomposition rejects replicate-weight designs."""
1453+ from diff_diff .bacon import BaconDecomposition
1454+ data , sd = self ._replicate_sd_and_data ()
1455+ with pytest .raises (NotImplementedError ):
1456+ BaconDecomposition ().fit (
1457+ data , outcome = "outcome" , unit = "unit" , time = "time" ,
1458+ first_treat = "first_treat" , survey_design = sd ,
1459+ )
1460+
14111461
14121462# =============================================================================
14131463# Effective-sample and d.f. consistency tests
0 commit comments