def test_run_experiment_lr_compare_with_dictionary():
    '''
    test rsmcompare using the dictionary object, rather than a file
    '''

    source = 'lr-self-compare-dict'
    experiment_id = 'lr_self_compare_dict'

    # set up a temporary directory since
    # we will be using getcwd
    temp_dir = tempfile.TemporaryDirectory(prefix=getcwd())

    old_file_dict = {
        'experiment_dir': 'data/experiments/lr-self-compare-dict/lr-subgroups'
    }

    new_file_dict = copy_data_files(temp_dir.name, old_file_dict,
                                    rsmtool_test_dir)

    config_dict = {
        "comparison_id": "lr_self_compare_dict",
        "experiment_dir_old": new_file_dict['experiment_dir'],
        "experiment_id_old": "lr_subgroups",
        "description_old": "Using all features with a LinearRegression model.",
        "use_scaled_predictions_old": True,
        "experiment_dir_new": new_file_dict['experiment_dir'],
        "experiment_id_new": "lr_subgroups",
        "description_new": "Using all features with a LinearRegression model.",
        "use_scaled_predictions_new": True,
        "subgroups": ["QUESTION"]
    }

    check_run_comparison(source, experiment_id, config_obj_or_dict=config_dict)
def test_run_experiment_lr_compare_with_object():
    '''
    test rsmcompare using the Configuration object, rather than a file;
    '''

    source = 'lr-self-compare-object'
    experiment_id = 'lr_self_compare_object'

    configdir = join(rsmtool_test_dir, 'data', 'experiments', source)

    config_dict = {
        "comparison_id": "lr_self_compare_object",
        "experiment_dir_old": "lr-subgroups",
        "experiment_id_old": "lr_subgroups",
        "description_old": "Using all features with a LinearRegression model.",
        "use_scaled_predictions_old": True,
        "experiment_dir_new": "lr-subgroups",
        "experiment_id_new": "lr_subgroups",
        "description_new": "Using all features with a LinearRegression model.",
        "use_scaled_predictions_new": True,
        "subgroups": ["QUESTION"]
    }

    config_obj = Configuration(config_dict,
                               context='rsmcompare',
                               configdir=configdir)

    check_run_comparison(source, experiment_id, config_obj_or_dict=config_obj)
def test_run_experiment_parameterized(*args, **kwargs):
    if TEST_DIR:
        kwargs['given_test_dir'] = TEST_DIR
    check_run_comparison(*args, **kwargs)