26 lines
		
	
	
		
			898 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			898 B
		
	
	
	
		
			Python
		
	
	
	
| from __future__ import generators
 | |
| import py
 | |
| from py.__.builtin.sorted import _sorted
 | |
| 
 | |
| def test_sorted():
 | |
|     for s in [_sorted, py.builtin.sorted]:
 | |
|         def test():
 | |
|             assert s([3, 2, 1]) == [1, 2, 3]
 | |
|             assert s([1, 2, 3], reverse=True) == [3, 2, 1]
 | |
|             l = s([1, 2, 3, 4, 5, 6], key=lambda x: x % 2)
 | |
|             assert l == [2, 4, 6, 1, 3, 5]
 | |
|             l = s([1, 2, 3, 4], cmp=lambda x, y: -cmp(x, y))
 | |
|             assert l == [4, 3, 2, 1]
 | |
|             l = s([1, 2, 3, 4], cmp=lambda x, y: -cmp(x, y),
 | |
|                         key=lambda x: x % 2)
 | |
|             assert l == [1, 3, 2, 4]
 | |
| 
 | |
|             def compare(x, y):
 | |
|                 assert type(x) == str
 | |
|                 assert type(y) == str
 | |
|                 return cmp(x, y)
 | |
|             data = 'The quick Brown fox Jumped over The lazy Dog'.split()
 | |
|             s(data, cmp=compare, key=str.lower)
 | |
|         yield test
 | |
| 
 |