Ejemplo n.º 1
0
 def join(res1, res2):
     conn = joins.pop(0)
     tb1 = res1[0]
     col_order_1 = res1[1]
     tb2 = res2[0]
     col_order_2 = res2[1]
     if conn == ' UNETELO CN ':
         return man.unite_tables(tb1, tb2, col_order_1, col_order_2, False)
     elif conn == ' UNETELO TODO CN ':
         return man.unite_tables(tb1, tb2, col_order_1, col_order_2, True)
     elif conn == ' COMUN CN ':
         return man.intersect_tables(tb1, tb2, col_order_1, col_order_2)
     elif conn == ' SACALE ':
         return man.left_outer_intersect(tb1, tb2, col_order_1, col_order_2)
     else:
         raise ValueError('Do not recognize connective')
Ejemplo n.º 2
0
 def test_intersect_tables(self):
     test = man.intersect_tables(self.tb51, self.tb52, self.tb51_order,
                                 self.tb52_order)
     test_tb = test[0]
     # Check column entries, row order may be different, but change is
     # uniform across all columns
     str_col = test_tb['str']
     int_col = test_tb['int']
     float_col = test_tb['float']
     i = str_col.index('a')
     j = str_col.index('b')
     k = str_col.index('c')
     # Same row as a
     self.assertEqual(int_col[i], 1)
     self.assertEqual(float_col[i], 0.1)
     # Same row as b
     self.assertEqual(int_col[j], 2)
     self.assertEqual(float_col[j], 0.2)
     # Same row as c
     self.assertEqual(int_col[k], 3)
     self.assertEqual(float_col[k], 0.3)
Ejemplo n.º 3
0
 def test_intersect_tables(self):
     test = man.intersect_tables(self.tb51, self.tb52,
                                 self.tb51_order, self.tb52_order)
     test_tb = test[0]
     # Check column entries, row order may be different, but change is
     # uniform across all columns
     str_col = test_tb['str']
     int_col = test_tb['int']
     float_col = test_tb['float']
     i = str_col.index('a')
     j = str_col.index('b')
     k = str_col.index('c')
     # Same row as a
     self.assertEqual(int_col[i], 1)
     self.assertEqual(float_col[i], 0.1)
     # Same row as b
     self.assertEqual(int_col[j], 2)
     self.assertEqual(float_col[j], 0.2)
     # Same row as c
     self.assertEqual(int_col[k], 3)
     self.assertEqual(float_col[k], 0.3)
Ejemplo n.º 4
0
 def test_intersect_tables_no_intersect(self):
     no_intersect = {'str': ['z'], 'int': [100], 'float': [0.05]}
     test = man.intersect_tables(self.tb51, no_intersect, self.tb51_order,
                                 self.tb52_order)
     self.assertEqual(set(test[0]), set())
Ejemplo n.º 5
0
 def test_intersect_tables_no_intersect(self):
     no_intersect = {'str': ['z'], 'int': [100], 'float': [0.05]}
     test = man.intersect_tables(self.tb51, no_intersect,
                                 self.tb51_order, self.tb52_order)
     self.assertEqual(set(test[0]), set())