def test2(self): R = { 'A': [ -8.0, -7.0, -3.0, -2.0, -1.0, 1.0, 2.0, 3.0, 4.0, 9.0, -10.0, -9.0, -6.0, -5.0, -4.0, 0.0, 5.0, 6.0, 7.0, 8.0 ], 'B': [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0 ] } a = [ 4, 8, 1, 5, -7, -5, 9, 7, -8, -10, -1, -4, 3, 0., -2, 6, 2, -9, -3, -6 ] b = [1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2] df = DataFrame() for A, B in zip(a, b): df.insert({'A': A, 'B': B}) df.sort(['B', 'A']) for d, r in zip(df['A'], R['A']): self.assertAlmostEqual(d, r) for d, r in zip(df['B'], R['B']): self.assertAlmostEqual(d, r)
def test3(self): df = DataFrame() with self.assertRaises(Exception) as cm: df.sort() self.assertEqual(str(cm.exception), 'Table must have data to sort data')
def test5(self): df = DataFrame() df['a'] = [2, 5] df['b'] = [2, 3] with self.assertRaises(Exception) as cm: df.sort(42) self.assertEqual(str(cm.exception), "'int' object is not iterable")
def test4(self): df = DataFrame() df['a'] = [2] df['b'] = [2, 3] with self.assertRaises(Exception) as cm: df.sort() self.assertEqual(str(cm.exception), 'columns have unequal lengths')