From 1cf2faae9e2a39487726efdaab3d63f015274b6c Mon Sep 17 00:00:00 2001 From: Gael Varoquaux <gael.varoquaux@normalesup.org> Date: Sun, 6 May 2012 17:10:55 +0200 Subject: [PATCH] BUG: fix assert_greater And add a test: when doing a backport, it is always wise to check ones implementation against the original --- sklearn/utils/testing.py | 25 +++++++++++++--------- sklearn/utils/tests/test_testing.py | 32 +++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 10 deletions(-) create mode 100644 sklearn/utils/tests/test_testing.py diff --git a/sklearn/utils/testing.py b/sklearn/utils/testing.py index f51600547e..f0a7f539b0 100644 --- a/sklearn/utils/testing.py +++ b/sklearn/utils/testing.py @@ -22,23 +22,28 @@ except ImportError: assert_false(x in container, msg="%r in %r" % (x, container)) +def _assert_less(a, b, msg=None): + message = "%r is not lower than %r" % (a, b) + if msg is not None: + message += ": " + msg + assert a < b, message + +def _assert_greater(a, b, msg=None): + message = "%r is not lower than %r" % (a, b) + if msg is not None: + message += ": " + msg + assert a > b, message + + try: from nose.tools import assert_less except ImportError: - def assert_less(a, b, msg=None): - message = "%r is not lower than %r" % (a, b) - if msg is not None: - message += ": " + msg - assert a < b, message + assert_less = _assert_less try: from nose.tools import assert_greater except ImportError: - def assert_greater(a, b, msg=None): - message = "%r is not lower than %r" % (a, b) - if msg is not None: - message += ": " + msg - assert a < b, message + assert_greater = _assert_greater def fake_mldata_cache(columns_dict, dataname, matfile, ordering=None): diff --git a/sklearn/utils/tests/test_testing.py b/sklearn/utils/tests/test_testing.py new file mode 100644 index 0000000000..89c662cecb --- /dev/null +++ b/sklearn/utils/tests/test_testing.py @@ -0,0 +1,32 @@ +from nose.tools import assert_raises + +from sklearn.utils.testing import _assert_less, _assert_greater + +try: + from nose.tools import assert_less + + def test_assert_less(): + # Check that the nose implementation of assert_less gives the + # same thing as the scikit's + assert_less(0, 1) + _assert_less(0, 1) + assert_raises(AssertionError, assert_less, 1, 0) + assert_raises(AssertionError, _assert_less, 1, 0) + +except ImportError: + pass + +try: + from nose.tools import assert_greater + + def test_assert_greater(): + # Check that the nose implementation of assert_less gives the + # same thing as the scikit's + assert_greater(1, 0) + _assert_greater(1, 0) + assert_raises(AssertionError, assert_greater, 0, 1) + assert_raises(AssertionError, _assert_greater, 0, 1) + +except ImportError: + pass + -- GitLab