def test_controls_are_applied_at_various_levels(): exp = deepcopy(experiments.ExperimentWithControlsAtVariousLevels) exp["dry"] = True run_experiment(exp) activities = get_all_activities(exp) for activity in activities: if "controls" in activity: assert activity["before_activity_control"] is True assert activity["after_activity_control"] is True
def test_controls_are_applied_when_they_are_not_top_level(): exp = deepcopy(experiments.ExperimentWithControlNotAtTopLevel) exp["dry"] = True run_experiment(exp) activities = get_all_activities(exp) for activity in activities: if "controls" in activity: assert activity["before_activity_control"] is True assert activity["after_activity_control"] is True
def test_controls_can_access_experiment(): exp = deepcopy(experiments.ExperimentWithControlAccessingExperiment) exp["dry"] = True hypo = exp.get("steady-state-hypothesis") run_experiment(exp) assert hypo["has_experiment_before"] is True assert hypo["has_experiment_after"] is True activities = get_all_activities(exp) for activity in activities: assert activity["has_experiment_before"] is True assert activity["has_experiment_after"] is True
def test_controls_are_applied_before_and_after_activities(): exp = deepcopy(experiments.ExperimentWithControls) exp["dry"] = True activities = get_all_activities(exp) for activity in activities: with controls("activity", exp, context=activity): assert activity["before_activity_control"] is True run = execute_activity(exp, activity, None, None, dry=False) assert "after_activity_control" in activity assert activity["after_activity_control"] is True assert run["after_activity_control"] is True
def test_automatic_goes_deep_down_the_tree(): exp = deepcopy(experiments.ExperimentWithControls) controls = get_context_controls("experiment", exp, exp) assert len(controls) == 1 exp = deepcopy(experiments.ExperimentWithControls) hypo = exp["steady-state-hypothesis"] assert "controls" not in hypo controls = get_context_controls("hypothesis", exp, hypo) assert len(controls) == 1 exp = deepcopy(experiments.ExperimentWithControls) activities = get_all_activities(exp) for activity in activities: assert "controls" not in activity controls = get_context_controls("activity", exp, activity) assert len(controls) == 1