diff Lib/test/test_long.py @ 51121:74aa43dd875d

Issue #1717: Remove cmp. Stage 1: remove all uses of cmp and __cmp__ from the standard library and tests.
author Mark Dickinson <dickinsm@gmail.com>
date Tue, 27 Jan 2009 18:17:45 +0000
parents 32a22fa13b99
children 9742e8a4dca1
line wrap: on
line diff
--- a/Lib/test/test_long.py	Tue Jan 27 13:29:43 2009 +0000
+++ b/Lib/test/test_long.py	Tue Jan 27 18:17:45 2009 +0000
@@ -697,7 +697,8 @@
             def _cmp__(self, other):
                 if not isinstance(other, Rat):
                     other = Rat(other)
-                return cmp(self.n * other.d, self.d * other.n)
+                x, y = self.n * other.d, self.d * other.n
+                return (x > y) - (x < y)
             def __eq__(self, other):
                 return self._cmp__(other) == 0
             def __ne__(self, other):
@@ -727,8 +728,8 @@
             Rx = Rat(x)
             for y in cases:
                 Ry = Rat(y)
-                Rcmp = cmp(Rx, Ry)
-                xycmp = cmp(x, y)
+                Rcmp = (Rx > Ry) - (Rx < Ry)
+                xycmp = (x > y) - (x < y)
                 eq(Rcmp, xycmp, Frm("%r %r %d %d", x, y, Rcmp, xycmp))
                 eq(x == y, Rcmp == 0, Frm("%r == %r %d", x, y, Rcmp))
                 eq(x != y, Rcmp != 0, Frm("%r != %r %d", x, y, Rcmp))