|
2 | 2 | import toolz |
3 | 3 | import toolz.curried.exceptions |
4 | 4 | import pickle |
5 | | -from toolz.compatibility import PY3 |
| 5 | +from toolz.compatibility import PY3, PY33, PY34 |
6 | 6 | from toolz.utils import raises |
7 | 7 |
|
8 | 8 |
|
@@ -121,23 +121,25 @@ def preserves_identity(obj): |
121 | 121 |
|
122 | 122 | assert preserves_identity(GlobalCurried) |
123 | 123 | assert preserves_identity(GlobalCurried.func.f1) |
124 | | - assert preserves_identity(GlobalCurried.func.g1) |
125 | 124 | assert preserves_identity(GlobalCurried.func.NestedCurried) |
126 | 125 | assert preserves_identity(GlobalCurried.func.NestedCurried.func.f2) |
127 | | - assert preserves_identity(GlobalCurried.func.NestedCurried.func.g2) |
128 | | - assert preserves_identity(GlobalCurried.func.Nested) |
129 | 126 | assert preserves_identity(GlobalCurried.func.Nested.f3) |
130 | | - assert preserves_identity(GlobalCurried.func.Nested.g3) |
| 127 | + if not PY33 and not PY34: |
| 128 | + assert preserves_identity(GlobalCurried.func.g1) |
| 129 | + assert preserves_identity(GlobalCurried.func.NestedCurried.func.g2) |
| 130 | + assert preserves_identity(GlobalCurried.func.Nested) |
| 131 | + assert preserves_identity(GlobalCurried.func.Nested.g3) |
131 | 132 |
|
132 | 133 | # Rely on curry.__getattr__ |
133 | 134 | assert preserves_identity(GlobalCurried.f1) |
134 | | - assert preserves_identity(GlobalCurried.g1) |
135 | 135 | assert preserves_identity(GlobalCurried.NestedCurried) |
136 | 136 | assert preserves_identity(GlobalCurried.NestedCurried.f2) |
137 | | - assert preserves_identity(GlobalCurried.NestedCurried.g2) |
138 | | - assert preserves_identity(GlobalCurried.Nested) |
139 | 137 | assert preserves_identity(GlobalCurried.Nested.f3) |
140 | | - assert preserves_identity(GlobalCurried.Nested.g3) |
| 138 | + if not PY33 and not PY34: |
| 139 | + assert preserves_identity(GlobalCurried.g1) |
| 140 | + assert preserves_identity(GlobalCurried.NestedCurried.g2) |
| 141 | + assert preserves_identity(GlobalCurried.Nested) |
| 142 | + assert preserves_identity(GlobalCurried.Nested.g3) |
141 | 143 |
|
142 | 144 | global_curried1 = GlobalCurried(1) |
143 | 145 | global_curried2 = pickle.loads(pickle.dumps(global_curried1)) |
@@ -169,15 +171,16 @@ def preserves_identity(obj): |
169 | 171 | assert func1 is not func2 |
170 | 172 | assert func1(4) == func2(4) == 10 |
171 | 173 |
|
172 | | - nested3 = GlobalCurried.Nested(1, 2) |
173 | | - nested4 = pickle.loads(pickle.dumps(nested3)) |
174 | | - assert nested3 is not nested4 |
175 | | - assert nested3.f3(3, 4) == nested4.f3(3, 4) == 10 |
| 174 | + if not PY33 and not PY34: |
| 175 | + nested3 = GlobalCurried.Nested(1, 2) |
| 176 | + nested4 = pickle.loads(pickle.dumps(nested3)) |
| 177 | + assert nested3 is not nested4 |
| 178 | + assert nested3.f3(3, 4) == nested4.f3(3, 4) == 10 |
176 | 179 |
|
177 | | - func1 = nested3.f3(3) |
178 | | - func2 = pickle.loads(pickle.dumps(func1)) |
179 | | - assert func1 is not func2 |
180 | | - assert func1(4) == func2(4) == 10 |
| 180 | + func1 = nested3.f3(3) |
| 181 | + func2 = pickle.loads(pickle.dumps(func1)) |
| 182 | + assert func1 is not func2 |
| 183 | + assert func1(4) == func2(4) == 10 |
181 | 184 |
|
182 | 185 |
|
183 | 186 | def test_curried_bad_qualname(): |
|
0 commit comments