def test_data_files_keys(self, tmpdir): file = """ data_files: train: 'tweets-train.csv' test: 'tweets-test.csv' transformers: estimators: vectorizers: """ p = tmpdir.mkdir("test").join("conf_file.yml") p.write(file) c = Context('exp_name_param', conf_file=str(p)) with pytest.raises(ValueError) as ex: c.validate_configuration_parameters() assert ex == "Missing {'target', 'features'} keys under data_files from context file."
def test_data_files_keys_target_empty(self, tmpdir): file = """ data_files: train: '$PROJECT_PATHS$/../data/raw/tweets-train.csv' test: '$PROJECT_PATHS$/../data/raw/tweets-train.csv' target: features: transformers: estimators: vectorizers: """ p = tmpdir.mkdir("test").join("conf_file.yml") p.write(file) c = Context('exp_name_param', conf_file=str(p)) with pytest.raises(ValueError) as ex: c.validate_configuration_parameters() assert 'target cannot be empty.' == str(ex.value)
def test_data_files_keys_train_test(self, tmpdir): file = """ data_files: train: '' test: target: features: transformers: estimators: vectorizers: """ p = tmpdir.mkdir("test").join("conf_file.yml") p.write(file) c = Context('exp_name_param', conf_file=str(p)) with pytest.raises(ValueError) as ex: c.validate_configuration_parameters() assert "train cannot be empty." == str(ex.value)
def test_data_files_key_transformers(self, tmpdir): file = """ data_files: train: '$PROJECT_PATHS$/../data/raw/tweets-train.csv' test: '$PROJECT_PATHS$/../data/raw/tweets-train.csv' target: 'target_name' features: 'features_name' transformers: estimators: vectorizers: """ p = tmpdir.mkdir("test").join("conf_file.yml") p.write(file) c = Context('exp_name_param', conf_file=str(p)) with pytest.raises(TypeError) as ex: c.validate_configuration_parameters() assert "from config file expected to be a list got" in str( ex.value)
def test_data_files_keys_train_csv_format(self, tmpdir): file = """ data_files: train: 'tweets-train.notcsv' test: target: features: transformers: estimators: vectorizers: """ p = tmpdir.mkdir("test").join("conf_file.yml") p.write(file) c = Context('exp_name_param', conf_file=str(p)) with pytest.raises(TypeError) as ex: c.validate_configuration_parameters() assert "Train data must be a csv file with .csv extension." == str( ex.value)
def test_data_files_keys_train_csv_format_file_no_exist(self, tmpdir): file = """ data_files: train: 'tweets-train.csv' test: target: features: transformers: estimators: vectorizers: """ p = tmpdir.mkdir("test").join("conf_file.yml") p.write(file) c = Context('exp_name_param', conf_file=str(p)) with pytest.raises(FileNotFoundError) as ex: c.validate_configuration_parameters() assert "[Errno 2] File tweets-train.csv does not exist: 'tweets-train.csv'" == str( ex.value)
def test_config_params_missing_keys(self, tmpdir): file = """ data_files: train: 'tweets-train.csv' test: 'tweets-test.csv' features: 'fe1' target: 'sent' transformers: - transformer1: param1: 'value_trans_1_param_1' param2: 'value_trans_1_param_2' - transformer2: param1: 'value_trans_2_param_1' param2: 'value_trans_2_param_2' """ p = tmpdir.mkdir("test").join("conf_file.yml") p.write(file) c = Context('exp_name_param', conf_file=str(p)) with pytest.raises(KeyError) as ex: c.validate_configuration_parameters() assert ex == "Missing {'estimators', 'vectorizer'} compulsory keys in configuration file."