def test_natsort(self): """natsort should perform numeric comparisons on strings test pulled from QIIME (http://qiime.org) """ # string with alpha and numerics sort correctly s = "sample1 sample2 sample11 sample12".split() self.assertEqual(natsort(s), "sample1 sample2 sample11 sample12".split()) s.reverse() self.assertEqual(natsort(s), "sample1 sample2 sample11 sample12".split()) self.assertEqual(natsort(list("cba321")), list("123abc")) # strings with alpha only sort correctly self.assertEqual(natsort(list("cdba")), list("abcd")) # string of ints sort correctly self.assertEqual(natsort(["11", "2", "1", "0"]), ["0", "1", "2", "11"]) # strings of floats sort correctly self.assertEqual(natsort(["1.11", "1.12", "1.00", "0.009"]), ["0.009", "1.00", "1.11", "1.12"]) # string of ints sort correctly self.assertEqual( natsort([("11", "A"), ("2", "B"), ("1", "C"), ("0", "D")]), [("0", "D"), ("1", "C"), ("2", "B"), ("11", "A")], )
def test_natsort(self): """natsort should perform numeric comparisons on strings This method is ported from QIIME (http://www.qiime.org). QIIME is a GPL project, but we obtained permission from the authors of this method to port it to the BIOM Format project (and keep it under BIOM's BSD license). """ # string with alpha and numerics sort correctly s = 'sample1 sample2 sample11 sample12'.split() self.assertEqual(natsort(s), 'sample1 sample2 sample11 sample12'.split()) s.reverse() self.assertEqual(natsort(s), 'sample1 sample2 sample11 sample12'.split()) self.assertEqual(natsort(list('cba321')), list('123abc')) # strings with alpha only sort correctly self.assertEqual(natsort(list('cdba')), list('abcd')) # string of ints sort correctly self.assertEqual(natsort(['11', '2', '1', '0']), ['0', '1', '2', '11']) # strings of floats sort correctly self.assertEqual(natsort(['1.11', '1.12', '1.00', '0.009']), ['0.009', '1.00', '1.11', '1.12']) # string of ints sort correctly self.assertEqual( natsort([('11', 'A'), ('2', 'B'), ('1', 'C'), ('0', 'D')]), [('0', 'D'), ('1', 'C'), ('2', 'B'), ('11', 'A')])
def test_natsort(self): """natsort should perform numeric comparisons on strings This method is ported from QIIME (http://www.qiime.org). QIIME is a GPL project, but we obtained permission from the authors of this method to port it to the BIOM Format project (and keep it under BIOM's BSD license). """ # string with alpha and numerics sort correctly s = "sample1 sample2 sample11 sample12".split() self.assertEqual(natsort(s), "sample1 sample2 sample11 sample12".split()) s.reverse() self.assertEqual(natsort(s), "sample1 sample2 sample11 sample12".split()) self.assertEqual(natsort(list("cba321")), list("123abc")) # strings with alpha only sort correctly self.assertEqual(natsort(list("cdba")), list("abcd")) # string of ints sort correctly self.assertEqual(natsort(["11", "2", "1", "0"]), ["0", "1", "2", "11"]) # strings of floats sort correctly self.assertEqual(natsort(["1.11", "1.12", "1.00", "0.009"]), ["0.009", "1.00", "1.11", "1.12"]) # string of ints sort correctly self.assertEqual( natsort([("11", "A"), ("2", "B"), ("1", "C"), ("0", "D")]), [("0", "D"), ("1", "C"), ("2", "B"), ("11", "A")], )
def test_natsort(self): """natsort should perform numeric comparisons on strings test pulled from QIIME (http://qiime.org) """ # string with alpha and numerics sort correctly s = 'sample1 sample2 sample11 sample12'.split() self.assertEqual(natsort(s), 'sample1 sample2 sample11 sample12'.split()) s.reverse() self.assertEqual(natsort(s), 'sample1 sample2 sample11 sample12'.split()) self.assertEqual(natsort(list('cba321')),list('123abc')) # strings with alpha only sort correctly self.assertEqual(natsort(list('cdba')),list('abcd')) # string of ints sort correctly self.assertEqual(natsort(['11','2','1','0']), ['0','1','2','11']) # strings of floats sort correctly self.assertEqual(natsort(['1.11','1.12','1.00','0.009']), ['0.009','1.00','1.11','1.12']) # string of ints sort correctly self.assertEqual(natsort([('11','A'),('2','B'),('1','C'),('0','D')]), [('0','D'),('1','C'),('2','B'),('11','A')])