def given_a_sleeping_dog_test():
    customer_segment = ('60602', 'male')
    classification_model = SimplisticClasses.DumbClassifier({
        ('control', ) + customer_segment:
        0.50,
        ('variant', ) + customer_segment:
        0.45,
    })
    regression_model = SimplisticClasses.AllCasesHaveSameProfitRegressionModel(
    )
    ad_name = SimplisticClasses.assign_ad_for(customer_segment,
                                              classification_model,
                                              regression_model)
    assert ad_name == 'control', "Should let sleeping dogs lie."
def given_a_variant_that_does_NOT_improve_on_probability_of_ordering_over_control_test(
):
    customer_segment = ('60626', 'male')
    classification_model = SimplisticClasses.DumbClassifier({
        ('control', ) + customer_segment:
        0.45,
        ('variant', ) + customer_segment:
        0.45,
    })
    regression_model = SimplisticClasses.AllCasesHaveSameProfitRegressionModel(
    )
    ad_name = SimplisticClasses.assign_ad_for(customer_segment,
                                              classification_model,
                                              regression_model)
    assert ad_name == 'control', "Should choose to NOT advertise"
def given_variant_improves_over_control_just_enough_to_warrant_advertising_cost_test(
):
    customer_segment = ('60626', 'female')
    classification_model = SimplisticClasses.DumbClassifier({
        ('control', ) + customer_segment:
        0.60,
        ('variant', ) + customer_segment:
        0.65,
    })
    regression_model = SimplisticClasses.AllCasesHaveSameProfitRegressionModel(
    )
    ad_name = SimplisticClasses.assign_ad_for(customer_segment,
                                              classification_model,
                                              regression_model,
                                              ad_cost=0.60)
    assert ad_name == 'variant', "Should choose to advertise"
def given_any_input_test():
    regression_model = SimplisticClasses.AllCasesHaveSameProfitRegressionModel(
    )
    results = regression_model.predict(input=(42, 'hai'))
    assert results == 12.25, "Should be a constant amount regardless of the input."