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