Skip to content

bad prints

bad prints #124

GitHub Actions / TestRB linux_310_python succeeded Jul 27, 2024 in 0s

446 passed, 0 failed and 42 skipped

Tests passed successfully

✅ tmp/zqmr/t/junit/test-results.xml

488 tests were completed in 271s with 446 passed, 0 failed and 42 skipped.

Test suite Passed Failed Skipped Time
pytest 446✅ 42⚪ 271s

✅ pytest

tests.api.test_base
  ✅ test_that_explainer_throws_exceptions_for_incomplete
  ✅ test_that_explainer_works_for_complete
  ✅ test_that_explanation_throws_exceptions_for_incomplete
  ✅ test_that_explanation_works_for_complete
tests.glassbox.ebm.test_ebm
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_sample_weights_list]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_sample_weights_shape]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_sample_weights_not_overwritten]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_sample_weights_invariance(kind=ones)]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_sample_weights_invariance(kind=zeros)]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_estimators_fit_returns_self]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_estimators_fit_returns_self(readonly_memmap=True)]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_complex_data]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_dtype_object]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_estimators_empty_data_messages]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_pipeline_consistency]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_estimators_overwrite_params]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_estimator_sparse_array]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_estimator_sparse_matrix]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_estimators_pickle]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_estimators_pickle(readonly_memmap=True)]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_estimator_get_tags_default_keys]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_array_api_input(array_namespace=numpy,dtype_name=None,device=None)]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_array_api_input(array_namespace=array_api_strict,dtype_name=None,device=None)]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_array_api_input(array_namespace=cupy,dtype_name=None,device=None)]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_array_api_input(array_namespace=cupy.array_api,dtype_name=None,device=None)]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_array_api_input(array_namespace=torch,dtype_name=float64,device=cpu)]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_array_api_input(array_namespace=torch,dtype_name=float32,device=cpu)]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_array_api_input(array_namespace=torch,dtype_name=float64,device=cuda)]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_array_api_input(array_namespace=torch,dtype_name=float32,device=cuda)]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_array_api_input(array_namespace=torch,dtype_name=float32,device=mps)]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_classifier_data_not_an_array]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_classifiers_one_label]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_classifiers_one_label_sample_weights]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_classifiers_classes]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_estimators_partial_fit_n_features]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_classifiers_train]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_classifiers_train(readonly_memmap=True)]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_classifiers_train(readonly_memmap=True,X_dtype=float32)]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_classifiers_regression_target]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_supervised_y_no_nan]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_supervised_y_2d]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_estimators_unfitted]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_non_transformer_estimators_n_iter]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_decision_proba_consistency]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_parameters_default_constructible]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_methods_sample_order_invariance]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_methods_subset_invariance]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_fit2d_1sample]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_fit2d_1feature]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_get_params_invariance]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_set_params]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_dict_unchanged]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_dont_overwrite_parameters]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_fit_idempotent]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_fit_check_is_fitted]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_n_features_in]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_fit1d]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_fit2d_predict1d]
  ⚪ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_requires_y_none]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_no_attributes_set_in_init]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_estimators_dtypes]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_fit_score_takes_y]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_sample_weights_pandas_series]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_sample_weights_not_an_array]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_sample_weights_list]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_sample_weights_shape]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_sample_weights_not_overwritten]
  ⚪ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_sample_weights_invariance(kind=ones)]
  ⚪ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_sample_weights_invariance(kind=zeros)]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_estimators_fit_returns_self]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_estimators_fit_returns_self(readonly_memmap=True)]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_complex_data]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_dtype_object]
  ⚪ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_estimators_empty_data_messages]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_pipeline_consistency]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_estimators_overwrite_params]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_estimator_sparse_array]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_estimator_sparse_matrix]
  ✅ test_binarize_1term
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_estimators_pickle]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_estimators_pickle(readonly_memmap=True)]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_estimator_get_tags_default_keys]
  ⚪ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_array_api_input(array_namespace=numpy,dtype_name=None,device=None)]
  ⚪ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_array_api_input(array_namespace=array_api_strict,dtype_name=None,device=None)]
  ⚪ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_array_api_input(array_namespace=cupy,dtype_name=None,device=None)]
  ⚪ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_array_api_input(array_namespace=cupy.array_api,dtype_name=None,device=None)]
  ⚪ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_array_api_input(array_namespace=torch,dtype_name=float64,device=cpu)]
  ⚪ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_array_api_input(array_namespace=torch,dtype_name=float32,device=cpu)]
  ⚪ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_array_api_input(array_namespace=torch,dtype_name=float64,device=cuda)]
  ⚪ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_array_api_input(array_namespace=torch,dtype_name=float32,device=cuda)]
  ⚪ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_array_api_input(array_namespace=torch,dtype_name=float32,device=mps)]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_regressors_train]
  ✅ test_vlogit_2class
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_regressors_train(readonly_memmap=True)]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_regressors_train(readonly_memmap=True,X_dtype=float32)]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_regressor_data_not_an_array]
  ✅ test_binarize
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_estimators_partial_fit_n_features]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_regressors_no_decision_function]
  ✅ test_monotonize
  ⚪ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_supervised_y_2d]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_supervised_y_no_nan]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_regressors_int]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_estimators_unfitted]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_non_transformer_estimators_n_iter]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_parameters_default_constructible]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_methods_sample_order_invariance]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_methods_subset_invariance]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_fit2d_1sample]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_fit2d_1feature]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_get_params_invariance]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_set_params]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_dict_unchanged]
  ✅ test_ebm_remove_features
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_dont_overwrite_parameters]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_fit_idempotent]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_fit_check_is_fitted]
  ✅ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_n_features_in]
  ⚪ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_fit1d]
  ⚪ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_fit2d_predict1d]
  ⚪ test_sklearn_estimator[ExplainableBoostingRegressor(max_rounds=100,outer_bags=1)-check_requires_y_none]
  ✅ test_json_classification
  ✅ test_json_multiclass
  ✅ test_ebm_sweep
  ✅ test_json_regression
  ✅ test_copy
  ✅ test_json_dp_classification
  ✅ test_json_dp_regression
  ✅ test_to_json
  ✅ test_unknown_multiclass_category
  ✅ test_unknown_binary_category
  ✅ test_exclude_explicit
  ✅ test_exclude_implicit
  ✅ test_exclude_complete_feature
  ✅ test_exclude_all
  ✅ test_ebm_remove_terms
  ✅ test_ebm_synthetic_multiclass
  ✅ test_ebm_synthetic_multiclass_pairwise
  ✅ test_ebm_scale
  ✅ test_ebm_synthetic_pairwise
  ✅ test_ebm_tripple
  ✅ test_prefit_ebm
  ✅ test_ebm_synthetic_regression
  ✅ test_ebm_synthetic_classification
  ✅ test_ebm_missing
  ✅ test_ebm_only_missing
  ✅ test_ebm_synthetic_singleclass_classification
  ✅ test_ebm_uniform
  ✅ test_ebm_uniform_multiclass
  ✅ test_ebm_binary
  ✅ test_eval_terms_regression
  ✅ test_eval_terms_binary
  ✅ test_eval_terms_multiclass
  ✅ test_ebm_sample_weight
  ✅ test_ebm_iris
  ✅ test_ebm_sparse
  ✅ test_zero_validation
  ✅ test_dp_ebm_binary
  ✅ test_dp_ebm_synthetic_regression
  ✅ test_dp_ebm_external_privacy_bounds
  ✅ test_ebm_calibrated_classifier_cv
  ✅ test_ebm_unknown_value_at_predict
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_no_attributes_set_in_init]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_estimators_dtypes]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_fit_score_takes_y]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_sample_weights_pandas_series]
  ✅ test_sklearn_estimator[ExplainableBoostingClassifier(max_rounds=100,outer_bags=1)-check_sample_weights_not_an_array]
tests.blackbox.test_sensitivity
  ✅ test_soft_min_max
tests.ext.test_examples
  ✅ test_invalid_provider
  ✅ test_invalid_data_explainer
  ✅ test_invalid_perf_explainer
  ✅ test_invalid_greybox_explainer
  ✅ test_invalid_glassbox_explainer
  ✅ test_invalid_blackbox_explainer
tests.glassbox.ebm.research.test_group_importance
  ✅ test_group_name
  ✅ test_append_group_importance
  ✅ test_append_multiple_group_importances
  ✅ test_append_same_importance_twice
  ✅ test_group_and_individual_importances
  ✅ test_individual_importances
  ✅ test_get_importance_per_top_groups
  ✅ test_group_importance_regression
  ✅ test_group_importance_classification
  ✅ test_group_importance_multiclass
tests.glassbox.ebm.test_bin
  ✅ test_eval_terms
tests.glassbox.ebm.test_ebm_utils
  ✅ test_deduplicate_bins
  ✅ test_conversion_cut_intervals
  ⚪ test_make_bag
  ⚪ test_make_bag_stratified
  ✅ test_convert_categorical_to_continuous_none
  ✅ test_convert_categorical_to_continuous_single
  ✅ test_convert_categorical_to_continuous_easy
  ✅ test_convert_categorical_to_continuous_overlap
  ✅ test_convert_categorical_to_continuous_identical
  ✅ test_create_proportional_tensor
tests.glassbox.ebm.test_merge_ebms
  ✅ test_merge_ebms
  ✅ test_merge_ebms_multiclass
tests.glassbox.ebm.test_multiclass
  ✅ test_multiclass_postprocess_smoke
tests.glassbox.test_aplr
  ✅ test_regression
  ✅ test_classification
tests.glassbox.test_decisiontree
  ✅ test_rt
  ✅ test_dt
tests.glassbox.test_linear
  ✅ test_linear_regression
  ✅ test_logistic_regression
  ✅ test_sorting
tests.greybox.test_treeinterpreter
  ⚪ test_that_tree_works
tests.provider.test_environment
  ✅ test_environment_detector
tests.provider.test_providers
  ✅ test_joblib_provider
  ✅ test_auto_visualize_provider
  ✅ test_preserve_provider
  ✅ test_inline_provider
  ✅ test_dash_provider
tests.test_develop
  ✅ test_debug_mode
  ✅ test_debug_info
  ✅ test_print_debug_info
  ✅ test_register_log
tests.test_example_notebooks
  ⚪ test_example_notebooks[notebook_path0]
tests.test_explainers
  ✅ test_spec_synthetic
tests.test_ext
  ✅ test_import_demo_extension_classes
  ✅ test_demo_blackbox_explainer
tests.test_extension_utils
  ✅ test_name_validation[name_and_is_valid0]
  ✅ test_name_validation[name_and_is_valid1]
  ✅ test_name_validation[name_and_is_valid2]
  ✅ test_name_validation[name_and_is_valid3]
  ✅ test_name_validation[name_and_is_valid4]
  ✅ test_name_validation[name_and_is_valid5]
  ✅ test_name_validation[name_and_is_valid6]
  ✅ test_name_validation[name_and_is_valid7]
tests.test_mli_interop
  ✅ test_mli_visualize_interop
tests.test_selenium
  ⚪ test_all_explainers_selenium[0]
  ⚪ test_all_explainers_selenium[1]
tests.utils.test_clean_simple
  ✅ test_clean_dimensions_2d
tests.utils.test_clean_x
  ✅ test_process_continuous_float64
  ✅ test_process_continuous_float32
  ✅ test_process_continuous_int8
  ✅ test_process_continuous_uint16_missing
  ✅ test_process_continuous_bool
  ✅ test_process_continuous_bool_missing
  ✅ test_process_continuous_obj_simple
  ✅ test_process_continuous_obj_simple_missing
  ✅ test_process_continuous_obj_hard
  ✅ test_process_continuous_obj_hard_missing
  ✅ test_process_continuous_obj_hard_bad
  ✅ test_process_continuous_str_simple
  ✅ test_process_continuous_str_simple_missing
  ✅ test_process_continuous_str_hard_bad
  ✅ test_process_column_initial_int_float
  ✅ test_process_column_initial_float32_float64
  ✅ test_process_column_initial_obj_obj
  ✅ test_process_column_initial_alphabetical_nomissing
  ✅ test_process_column_initial_alphabetical_missing
  ✅ test_process_column_initial_prevalence_nomissing
  ✅ test_unify_columns_numpy1
  ✅ test_unify_columns_numpy2
  ✅ test_unify_columns_numpy_ignore
  ✅ test_unify_columns_scipy
  ✅ test_unify_columns_dict1
  ✅ test_unify_columns_dict2
  ✅ test_unify_columns_list1
  ✅ test_unify_columns_list2
  ✅ test_unify_columns_tuple1
  ✅ test_unify_columns_tuple2
  ✅ test_unify_columns_generator1
  ✅ test_unify_columns_generator2
  ✅ test_unify_columns_pandas_normal_int8
  ✅ test_unify_columns_pandas_normal_uint8
  ✅ test_unify_columns_pandas_normal_int16
  ✅ test_unify_columns_pandas_normal_uint16
  ✅ test_unify_columns_pandas_normal_int32
  ✅ test_unify_columns_pandas_normal_uint32
  ✅ test_unify_columns_pandas_normal_int64
  ✅ test_unify_columns_pandas_normal_uint64
  ✅ test_unify_columns_pandas_normal_bool
  ✅ test_unify_columns_pandas_missings_float64
  ✅ test_unify_columns_pandas_missings_longfloat
  ✅ test_unify_columns_pandas_missings_float32
  ✅ test_unify_columns_pandas_missings_float16
  ✅ test_unify_columns_pandas_missings_Int8Dtype
  ✅ test_unify_columns_pandas_missings_UInt8Dtype
  ✅ test_unify_columns_pandas_missings_Int16Dtype
  ✅ test_unify_columns_pandas_missings_UInt16Dtype
  ✅ test_unify_columns_pandas_missings_Int32Dtype
  ✅ test_unify_columns_pandas_missings_UInt32Dtype
  ✅ test_unify_columns_pandas_missings_Int64Dtype
  ✅ test_unify_columns_pandas_missings_UInt64Dtype
  ✅ test_unify_columns_pandas_missings_BooleanDtype
  ✅ test_unify_columns_pandas_missings_str
  ✅ test_unify_columns_pandas_missings_nice_str
  ✅ test_unify_columns_pandas_missings_pure_ints
  ✅ test_unify_columns_pandas_missings_pure_floats
  ✅ test_unify_columns_pandas_missings_mixed_floats
  ✅ test_unify_columns_pandas_missings_mixed_floats2
  ✅ test_unify_columns_str_throw
  ✅ test_unify_columns_int_throw
  ✅ test_unify_columns_duplicate_colnames_throw
  ✅ test_unify_columns_opaque_str_throw
  ✅ test_unify_columns_list_throw
  ✅ test_unify_columns_tuple_throw
  ✅ test_unify_columns_set_throw
  ✅ test_unify_columns_dict_throw
  ✅ test_unify_columns_keys_throw
  ✅ test_unify_columns_values_throw
  ✅ test_unify_columns_range_throw
  ✅ test_unify_columns_generator_throw
  ✅ test_unify_columns_ndarray_throw
  ✅ test_unify_columns_pandas_obj_to_float
  ✅ test_unify_columns_pandas_obj_to_str
  ✅ test_unify_columns_pandas_categorical
  ✅ test_unify_columns_pandas_ordinal
  ✅ test_unify_columns_pandas_categorical_shorter
  ✅ test_unify_columns_pandas_categorical_equals
  ✅ test_unify_columns_pandas_categorical_longer
  ✅ test_unify_columns_pandas_categorical_reordered_shorter
  ✅ test_unify_columns_pandas_categorical_reordered_equals
  ✅ test_unify_columns_pandas_categorical_reordered_longer1
  ✅ test_unify_columns_pandas_categorical_reordered_longer2
  ✅ test_unify_columns_pandas_categorical_compressed_categories
  ✅ test_unify_feature_names_numpy1
  ✅ test_unify_feature_names_numpy2
  ✅ test_unify_feature_names_data_frame1
  ✅ test_unify_feature_names_data_frame2
  ✅ test_unify_feature_names_scipy
  ✅ test_unify_feature_names_dict1
  ✅ test_unify_feature_names_dict2
  ✅ test_unify_feature_names_list1
  ✅ test_unify_feature_names_list2
  ✅ test_unify_feature_names_tuple1
  ✅ test_unify_feature_names_tuple2
  ✅ test_unify_feature_names_feature_types1
  ✅ test_unify_feature_names_feature_types2
  ✅ test_unify_feature_names_feature_types3
  ✅ test_unify_feature_names_pandas_feature_types1
  ✅ test_unify_pandas_ignored_existing
  ✅ test_unify_feature_names_pandas_feature_types3
  ✅ test_unify_feature_names_names1
  ✅ test_unify_feature_names_names2
  ✅ test_unify_feature_names_pandas_names1
  ✅ test_unify_feature_names_pandas_names2
  ✅ test_unify_feature_names_types_names1
  ✅ test_unify_feature_names_types_names2
  ✅ test_unify_feature_names_types_pandas_names1
  ✅ test_unify_feature_names_types_pandas_names2
  ✅ test_unify_feature_names_types_ignored_names1
  ✅ test_unify_feature_names_types_ignored_names2
  ✅ test_unify_feature_names_types_ignored_pandas_names1
  ✅ test_unify_feature_names_types_ignored_pandas_names2
  ✅ test_unify_feature_names_types_dropped_names1
  ✅ test_unify_feature_names_types_dropped_names2
  ✅ test_unify_feature_names_types_dropped_pandas_names1
  ✅ test_unify_feature_names_types_dropped_pandas_names2
  ✅ test_unify_feature_names_types_nondropped2_names2
  ✅ test_unify_feature_names_types_nondropped2_pandas_names1
  ✅ test_unify_feature_names_types_dropped2_names2
  ✅ test_unify_feature_names_types_dropped2_pandas_names1
  ✅ test_unify_feature_names_types_keep_pandas_names1
  ✅ test_unify_feature_names_types_dropped3_pandas_names1
  ✅ test_unify_feature_names_types_dropped3_pandas_names2
  ✅ test_unify_feature_names_types_rearrange1_drop1
  ✅ test_unify_feature_names_types_rearrange1_drop2
  ✅ test_unify_feature_names_types_rearrange2_drop1
  ✅ test_unify_feature_names_types_rearrange2_drop2
  ✅ test_unify_feature_names_types_rearrange_more1
  ✅ test_unify_feature_names_types_rearrange_more2
  ✅ test_unify_feature_names_types_rearrange_more3
  ✅ test_unify_columns_ma_no_mask
  ✅ test_unify_columns_ma_empty_mask
  ✅ test_unify_columns_ma_objects
  ✅ test_process_column_initial_prevalence_missing
  ✅ test_process_column_initial_float64_nomissing
  ✅ test_process_column_initial_float64_missing
  ✅ test_process_column_initial_alphabetical_nomissing_int8
  ✅ test_process_column_initial_alphabetical_missing_int8
  ✅ test_process_column_initial_prevalence_nomissing_int8
  ✅ test_process_column_initial_prevalence_missing_int8
  ✅ test_process_column_initial_alphabetical_nomissing_one_bool
  ✅ test_process_column_initial_alphabetical_nomissing_two_bool
  ✅ test_process_column_initial_alphabetical_missing_one_bool
  ✅ test_process_column_initial_alphabetical_missing_two_bool
  ✅ test_process_column_initial_prevalence_nomissing_one_bool
  ✅ test_process_column_initial_prevalence_nomissing_two_bool
  ✅ test_process_column_initial_prevalence_missing_one_bool
  ✅ test_process_column_initial_prevalence_missing_two_bool
  ✅ test_encode_categorical_existing_obj_str
  ✅ test_encode_categorical_existing_obj_bool
  ✅ test_encode_categorical_existing_obj_int_small
  ✅ test_encode_categorical_existing_obj_int_big
  ✅ test_encode_categorical_existing_obj_floats
  ✅ test_encode_categorical_existing_obj_str_int
  ✅ test_encode_categorical_existing_obj_str_float
  ✅ test_encode_categorical_existing_obj_str_float64
  ✅ test_encode_categorical_existing_obj_str_float32
  ✅ test_encode_categorical_existing_int_float
  ✅ test_encode_categorical_existing_int_float32
  ✅ test_encode_categorical_existing_obj_obj
  ✅ test_encode_categorical_existing_str
  ✅ test_encode_categorical_existing_int8
  ✅ test_encode_categorical_existing_bool
  ✅ test_encode_categorical_existing_bool_true
  ✅ test_encode_categorical_existing_bool_false
  ✅ test_process_column_initial_choose_floatcategories
  ✅ test_process_column_initial_choose_floats
tests.utils.test_compressed_dataset
  ⚪ test_bin_native
tests.utils.test_explanation
  ✅ test_gen_perf_dicts_regression
  ✅ test_gen_perf_dicts_classification
  ✅ test_that_names_generated
tests.utils.test_link
  ✅ test_link_func_monoclassification_22
  ✅ test_link_func_monoclassification_12
  ✅ test_link_func_monoclassification_21_fail
  ✅ test_link_func_monoclassification_21
  ✅ test_link_func_monoclassification_11_fail
  ✅ test_link_func_monoclassification_11
  ✅ test_link_func_monoclassification_10
  ✅ test_link_func_monoclassification_1
  ✅ test_link_func_monoclassification_0
  ✅ test_link_func_monoclassification_empty
  ✅ test_link_func_monoclassification_value
  ✅ test_link_func_logit_31
  ✅ test_link_func_logit_32
  ✅ test_link_func_logit_33
  ✅ test_link_func_logit_1
  ✅ test_link_func_logit_12
  ✅ test_link_func_logit_0
  ✅ test_link_func_logit_2
  ✅ test_link_func_logit_22
  ✅ test_link_func_vlogit
  ✅ test_link_func_mlogit
  ✅ test_link_func_identity
  ✅ test_link_func_log
  ✅ test_inv_link_monoclassification_fail
  ✅ test_inv_link_monoclassification1
  ✅ test_inv_link_monoclassification0
  ✅ test_inv_link_monoclassification_nan
  ✅ test_inv_link_logit
  ✅ test_inv_link_vlogit
  ✅ test_inv_link_mlogit
  ✅ test_inv_link_identity
  ✅ test_inv_link_log
tests.utils.test_measure_interactions
  ✅ test_init_regression_model
  ✅ test_init_binary_model
  ✅ test_init_multiclass_model
  ✅ test_init_multiclass_scores
  ✅ test_init_binary_dummy_model
  ✅ test_init_binary_dummy_scores
  ✅ test_init_multiclass_dummy_model
  ✅ test_init_multiclass_dummy_scores
  ✅ test_inconsistent_objective
  ✅ test_inconsistent_X_and_y
  ✅ test_inconsistent_sample_weigth
  ✅ test_sample_weigth
  ✅ test_feature_names_and_types
  ✅ test_max_bins_and_binning_options
  ✅ test_min_hessian_samples
  ✅ test_num_output_interactions
  ✅ test_output_list
  ✅ test_specific_results
  ✅ test_regression_task
  ✅ test_classification_task
  ✅ test_nulticlass_task
  ✅ test_impure_interaction_is_zero
  ✅ test_added_impure_contribution_is_zero
tests.utils.test_native
  ✅ test_mean
  ✅ test_stddev
  ✅ test_hist
  ✅ test_cut_winsorized
  ✅ test_suggest_graph_bound
  ✅ test_suggest_graph_bound_no_min_max
  ✅ test_suggest_graph_bound_no_cuts
  ✅ test_gaussian_random_number_generator
tests.utils.test_purify
  ✅ test_purify_regression_0
  ✅ test_purify_regression_1
  ✅ test_purify_multiclass_1
  ✅ test_purify_regression_2
  ✅ test_purify_multiclass_2
  ✅ test_purify_regression_3
  ✅ test_purify_multiclass_3
  ✅ test_purify_regression_5
  ✅ test_purify_multiclass_5
tests.visual.test_dashboard
  ✅ test_random_port
tests.visual.test_inline
  ✅ test_build_viz_figure
tests.visual.test_interactive
  ✅ test_provider_properties
  ✅ test_shutdown
  ✅ test_addr_assignment
  ✅ test_status_show_server
  ✅ test_init_show_server
  ✅ test_show_link
  ✅ test_show
  ✅ test_preserve
tests.visual.test_plot
  ✅ test_plot_line_bounds_smoke