5
5
6
6
import unittest
7
7
8
+ import sys
9
+
8
10
class First ():
9
11
10
12
def __init__ (self , value ):
@@ -24,48 +26,49 @@ def test_ne(self):
24
26
self .assertIs (x != y , False )
25
27
self .assertIs (x != z , True )
26
28
27
- def test_ne_high_priority (self ):
28
- """object.__ne__() should allow reflected __ne__() to be tried"""
29
- calls = []
29
+ if (sys .version_info .major >= 3 and sys .version_info .minor >= 5 ):
30
+ def test_ne_high_priority (self ):
31
+ """object.__ne__() should allow reflected __ne__() to be tried"""
32
+ calls = []
30
33
31
- class Left :
32
- # Inherits object.__ne__()
33
- def __eq__ (* args ):
34
- calls .append ('Left.__eq__' )
35
- return NotImplemented
34
+ class Left :
35
+ # Inherits object.__ne__()
36
+ def __eq__ (* args ):
37
+ calls .append ('Left.__eq__' )
38
+ return NotImplemented
36
39
37
- class Right :
40
+ class Right :
38
41
39
- def __eq__ (* args ):
40
- calls .append ('Right.__eq__' )
41
- return NotImplemented
42
+ def __eq__ (* args ):
43
+ calls .append ('Right.__eq__' )
44
+ return NotImplemented
42
45
43
- def __ne__ (* args ):
44
- calls .append ('Right.__ne__' )
45
- return NotImplemented
46
+ def __ne__ (* args ):
47
+ calls .append ('Right.__ne__' )
48
+ return NotImplemented
46
49
47
- Left () != Right ()
48
- self .assertSequenceEqual (calls , ['Left.__eq__' , 'Right.__ne__' ])
50
+ Left () != Right ()
51
+ self .assertSequenceEqual (calls , ['Left.__eq__' , 'Right.__ne__' ])
49
52
50
- def test_ne_low_priority (self ):
51
- """object.__ne__() should not invoke reflected __eq__()"""
52
- calls = []
53
+ def test_ne_low_priority (self ):
54
+ """object.__ne__() should not invoke reflected __eq__()"""
55
+ calls = []
53
56
54
- class Base :
57
+ class Base :
55
58
56
- # Inherits object.__ne__()
57
- def __eq__ (* args ):
58
- calls .append ('Base.__eq__' )
59
- return NotImplemented
59
+ # Inherits object.__ne__()
60
+ def __eq__ (* args ):
61
+ calls .append ('Base.__eq__' )
62
+ return NotImplemented
60
63
61
- class Derived (Base ): # Subclassing forces higher priority
64
+ class Derived (Base ): # Subclassing forces higher priority
62
65
63
- def __eq__ (* args ):
64
- calls .append ('Derived.__eq__' )
65
- return NotImplemented
66
- def __ne__ (* args ):
67
- calls .append ('Derived.__ne__' )
68
- return NotImplemented
66
+ def __eq__ (* args ):
67
+ calls .append ('Derived.__eq__' )
68
+ return NotImplemented
69
+ def __ne__ (* args ):
70
+ calls .append ('Derived.__ne__' )
71
+ return NotImplemented
69
72
70
- Base () != Derived ()
71
- self .assertSequenceEqual (calls , ['Derived.__ne__' , 'Base.__eq__' ])
73
+ Base () != Derived ()
74
+ self .assertSequenceEqual (calls , ['Derived.__ne__' , 'Base.__eq__' ])
0 commit comments