Co-authored-by: Thomas J. Fan <thomasjpfan@gmail.com>
Co-authored-by: Olivier Grisel <olivier.grisel@ensta.org>
Co-authored-by: Jérémie du Boisberranger <jeremiedbb@users.noreply.github.com>
* CLN use pytest raises ctxt manager for class weights & estimators [skip ci]
* CLN use pytest raises ctxt manager for multiclass test
* CLN use pytest warns in estimator checks test
* CLN use pytest raises ctxt manager for random test
* CLN use pytest raises ctxt manager for sparsefuncs test
* CLN use pytest raises ctxt manager for testing utils tests
* CLN use pytest raises ctxt manager for utils tests
* CLN use pytest raises ctxt manager for validation tests
* revert test_estimator_check.py to upstream master
Previously error messages for mismatches parameters on function/method
signatures and docstrings were not explicit or user-friendly. This
changes provides a more explicit error message and in addition notifies
the relation of missing/mismatching parameters from signature to
docstring and from docstring to signature.
* start work on separating instance-level tests
* minor refactoring / fixes to work without tags
* add clone into check_supervised_y_2d estimator check (which made other checks fail)
* remove duplicate check_estimator_unfitted assert
* add issue reference to whatsnew entry
* added some clones, minor fixes from vene's review
* rename estimator arg to estimator_org to make a visible distinction before and after cloning.
* more renaming for more explicit clones
* org -> orig
* allclose, fix orig stuff
* don't use set_testing_parameters in the checks!
* minor fixes for allclose
* fix some test, add more tests on classes
* added the test using pickles.
* move assert_almost_equal_dense_sparse to utils.testing, rename to assert_allclose_sparse_dense, test it
* make assert_allclose_dense_sparse more stringent
* more allclose fixes
* run test_check_estimator on all estimators
* rename set_testing_parameters to set_checking_parameters so nose doesn't think it's a tests (and I don't want to import stuff from nose as we want to remove it)
* fix in set_checking_parameters so that common tests pass
* more fixes to assert_allclose_dense_sparse
* rename alg to clusterer, don't scream even though I really want to
* ok this is not a pretty strict test that runs check_estimator with and without fitting on an instance. I also check if ``fit`` is called on the instance that is passed.
* simplify test as they didn't help at all
* it works!!! omfg
* run check_estimator clone test only on one of the configs, don't run locally by default
* Add `slow_test` decorator and documentation
* run test_check_estimator only on some estimators
* fix diags in test for older scipy
* fix pep8 and shorten
* use joblib.hash for inequality check because the pickle state machine is weird
* Remove Python 2.6 support
Some details about some slightly orthogonal changes:
* Note about cheking safely for nan is likely not valid any more (commit
introducing it is c80ca91b)
* scipy.linalg.qr econ parameter removed since scipy 0.9 in favour of
mode='economic'
* Remove unnecessary libgfortran in conda create command
* Putative fix by setting the random seed
* Revert unintended change
* Reinstate previous logic for checking for NaNs
* Reinstate change in error message
Error messages from Python 2.7 assertRegexp does not contain the
function name, in contrast with Python 3 assertRegex
* use less nose.tools import to simplify future transition to activly developing test suites/runners
* assert_equal -> assert_array_equal in test_feature_hasher_pairs_with_string_values
and one missed ImportError that should be replaced with AttributeError
* test for py2.6 compat with except AttributeError
* fix importing of SkipTest
* force using nose in python2.6 for now
* there was no assert_dict_equal in py2.6. but we can use assert_equal
although failed test will look a little bit ugly
* remove nose imports from doc/datasets