コード例 #1
0
 def test_movsum(self):
     """
     Test movsum
     """
     R = Table.inputfromfile('test_csv/real_sales1.csv')
     expect = Table.inputfromfile('test_csv/moving_sum_of_step_1.csv')
     R1 = Table.movsum(R, ['qty', 1])
     expect = Table.sort(expect, ['saleid'])
     R1 = Table.sort(R1, ['saleid'])
     self.assertEqual(len(R1.table), len(expect.table))
     for i in range(len(R1.table)):
         self.assertEqual(R1.table[i]['sum(qty)'], expect.table[i]['sum(qty)'])
     expect = Table.inputfromfile('test_csv/moving_sum_of_step_3.csv')
     R1 = Table.movsum(R, ['qty', 3])
     expect = Table.sort(expect, ['saleid'])
     R1 = Table.sort(R1, ['saleid'])
     self.assertEqual(len(R1.table), len(expect.table))
     for i in range(len(R1.table)):
         self.assertEqual(R1.table[i]['sum(qty)'], expect.table[i]['sum(qty)'])
     expect = Table.inputfromfile('test_csv/moving_sum_of_step_4.csv')
     R1 = Table.movsum(R, ['qty', 4])
     expect = Table.sort(expect, ['saleid'])
     R1 = Table.sort(R1, ['saleid'])
     self.assertEqual(len(R1.table), len(expect.table))
     for i in range(len(R1.table)):
         self.assertEqual(R1.table[i]['sum(qty)'], expect.table[i]['sum(qty)'])
     expect = Table.inputfromfile('test_csv/moving_sum_of_step_n.csv')
     R1 = Table.movsum(R, ['qty', len(R1.table)])
     expect = Table.sort(expect, ['saleid'])
     R1 = Table.sort(R1, ['saleid'])
     self.assertEqual(len(R1.table), len(expect.table))
     for i in range(len(R1.table)):
         self.assertEqual(R1.table[i]['sum(qty)'], expect.table[i]['sum(qty)'])
コード例 #2
0
 def test_sort_with_single_column_Nan(self):
     """Test table with: sort(R, pricerange)"""
     R = Table.inputfromfile('test_csv/sales1.csv')
     R = Table.sort(R, ['pricerange'])
     self.assertIsNotNone(R.table)
     cur = R.table[0]['pricerange']
     for row in R.table:
         self.assertGreaterEqual(row['pricerange'], cur)
         cur = row['pricerange']
コード例 #3
0
 def test_countgroup(self):
     """
     Test countgroup
     """
     R = Table.inputfromfile('test_csv/real_sales1.csv')
     expect = Table.inputfromfile('test_csv/count_saleid_groupby_pricerange.csv')
     R1 = Table.countgroup(R, ['pricerange'])
     expect = Table.sort(expect, ['pricerange'])
     R1 = Table.sort(R1, ['pricerange'])
     self.assertEqual(len(R1.table), len(expect.table))
     for i in range(len(R1.table)):
         self.assertEqual(R1.table[i], expect.table[i])
     R = Table.inputfromfile('test_csv/real_sales1.csv')
     expect = Table.inputfromfile('test_csv/count_saleid_groupby_pricerange_customerid.csv')
     R1 = Table.countgroup(R, ['pricerange', 'customerid'])
     expect = Table.sort(expect, ['pricerange', 'customerid'])
     R1 = Table.sort(R1, ['pricerange', 'customerid'])
     self.assertEqual(len(R1.table), len(expect.table))
     for i in range(len(R1.table)):
         self.assertEqual(R1.table[i], expect.table[i])
コード例 #4
0
 def test_avggroup(self):
     """
     Test avggroup
     """
     R = Table.inputfromfile('test_csv/real_sales1.csv')
     expect = Table.inputfromfile('test_csv/avg_qty_groupby_princerange.csv')
     R1 = Table.avggroup(R, ['qty', 'pricerange'])
     expect = Table.sort(expect, ['pricerange'])
     R1 = Table.sort(R1, ['pricerange'])
     self.assertEqual(len(R1.table), len(expect.table))
     for i in range(len(R1.table)):
         self.assertAlmostEqual(R1.table[i]['avg(qty)'], expect.table[i]['avg(qty)'], places=4)
     R = Table.inputfromfile('test_csv/real_sales1.csv')
     expect = Table.inputfromfile('test_csv/avg_qty_groupby_customerid_princerange.csv')
     R1 = Table.avggroup(R, ['qty', 'pricerange', 'customerid'])
     expect = Table.sort(expect, ['pricerange', 'customerid'])
     R1 = Table.sort(R1, ['pricerange', 'customerid'])
     self.assertEqual(len(R1.table), len(expect.table))
     for i in range(len(R1.table)):
         self.assertAlmostEqual(R1.table[i]['avg(qty)'], expect.table[i]['avg(qty)'], places=4)
コード例 #5
0
 def test_movavg(self):
     """
         Test movavg
     """
     R = Table.inputfromfile('test_csv/real_sales1.csv')
     expect = Table.inputfromfile('test_csv/moving_avg_of_step_1.csv')
     R1 = Table.movavg(R, ['qty', 1])
     expect = Table.sort(expect, ['saleid'])
     R1 = Table.sort(R1, ['saleid'])
     self.assertEqual(len(R1.table), len(expect.table))
     for i in range(len(R1.table)):
         self.assertAlmostEqual(R1.table[i]['avg(qty)'], expect.table[i]['avg(qty)'], places=4)
     expect = Table.inputfromfile('test_csv/moving_avg_of_step_3.csv')
     R1 = Table.movavg(R, ['qty', 3])
     expect = Table.sort(expect, ['saleid'])
     R1 = Table.sort(R1, ['saleid'])
     self.assertEqual(len(R1.table), len(expect.table))
     for i in range(len(R1.table)):
         self.assertAlmostEqual(R1.table[i]['avg(qty)'], expect.table[i]['avg(qty)'], places=4)
     expect = Table.inputfromfile('test_csv/moving_avg_of_step_n.csv')
     R1 = Table.movavg(R, ['qty', len(R.table)])
     expect = Table.sort(expect, ['saleid'])
     R1 = Table.sort(R1, ['saleid'])
     self.assertEqual(len(R1.table), len(expect.table))
     for i in range(len(R1.table)):
         self.assertAlmostEqual(R1.table[i]['avg(qty)'], expect.table[i]['avg(qty)'], places=3)
コード例 #6
0
 def test_sort_with_mulitple_columns(self):
     """Test table with: sort(R, salesid, storeid)"""
     R = Table.inputfromfile('test_csv/sales1.csv')
     R = Table.sort(R, ['saleid', 'storeid'])
     self.assertIsNotNone(R.table)
     saleid = R.table[0]['saleid']
     storeid = R.table[0]['storeid']
     for row in R.table:
         self.assertGreaterEqual(row['saleid'], saleid)
         if (row['saleid'] == saleid):
             self.assertGreaterEqual(row['storeid'], storeid)
         saleid = row['saleid']
         storeid = row['storeid']