def test_sort_from_request_ASC(self):
"""Should sort variants wrt. a specific column
- string, int or float -, from smaller to bigger or in alphabetical order.
Compare with manual sort.
Frequencies could have None values, which is why we use this Sort.
"""
for field in ['chrom','start','aaf_1kg_all']:
request = RequestFactory().get('', {'order_by': '{},ASC'.format(field)})
order = sort_from_request(request)
self.assertIsInstance(order, Sort)
self.assertEqual(order.key, field)
self.assertEqual(order.reverse, False)
var = self.variants.order_by(order.key, order.reverse)
col0 = [getattr(v,field) for v in self.variants]
col = [getattr(v,field) for v in var]
col0_nonull = [x for x in col0 if x is not None]
col0 = [None]*(len(col)-len(col0_nonull)) + sorted(col0_nonull)
self.assertEqual(col0, col)
评论列表
文章目录