예제 #1
0
 def test_eval_cond_val(self):
     tb = self.pokemon_tb['pokemon']
     cond1 = 'pokemon_id_especie <= 151'
     col1 = tb['pokemon_id_especie']
     expected1 = [index for index, val in enumerate(col1) if val <= 151]
     test1 = consult.eval_cond(cond1, self.tables)
     test_col_entries1 = test1['pokemon']
     self.assertEqual(test_col_entries1, expected1)
     # Testing for string condition
     cond2 = "pokemon_nombre PARECIO A 'mega'"
     col2 = tb['pokemon_nombre']
     expected2 = [index for index, val in enumerate(col2) if 'mega' in val]
     test2 = consult.eval_cond(cond2, self.tables)
     test_col_entries2 = test2['pokemon']
     self.assertEqual(test_col_entries2, expected2)
예제 #2
0
 def test_eval_cond_range(self):
     cond = 'pokemon_experiencia_base ENTRE (100 Y 150)'
     tb = self.pokemon_tb['pokemon']
     col = tb['pokemon_experiencia_base']
     expected = [index for index, val in enumerate(col)
                 if not (val <= 100 or val >= 150)]
     test = consult.eval_cond(cond, self.tables)
     test_col_entries = test['pokemon']
     self.assertEqual(test_col_entries, expected)
예제 #3
0
 def test_eval_cond_inner_query(self):
     cond = 'pokemon_id EN ' \
            '(EMPRESTA pokemon_id DE pokemon ONDE (pokemon_id != 2))'
     poke_tb = self.pokemon_tb['pokemon']
     poke_col = poke_tb['pokemon_id']
     not_two = list(filter(lambda x: x != 2, poke_col))
     expected_poke = [index for index, val in enumerate(poke_col)
                      if val in not_two]
     test = consult.eval_cond(cond, self.tables)
     test_poke = test['pokemon']
     self.assertEqual(test_poke, expected_poke)
예제 #4
0
 def test_eval_cond_col_to_col(self):
     cond = 'pokemon_id = poke_estadisticas_pokemon_id'
     estad_tb = self.poke_estad_tb['poke_estadisticas']
     poke_tb = self.pokemon_tb['pokemon']
     poke_col = poke_tb['pokemon_id']
     estad_col = estad_tb['poke_estadisticas_pokemon_id']
     expected_poke = [index for index, val in enumerate(poke_col)
                      if val in estad_col]
     expected_estad = [index for index, val in enumerate(estad_col)
                       if val in poke_col]
     test = consult.eval_cond(cond, self.tables)
     test_poke = test['pokemon']
     test_estad = test['poke_estadisticas']
     self.assertEqual(test_poke, expected_poke)
     self.assertEqual(test_estad, expected_estad)
예제 #5
0
 def test_eval_cond_neq(self):
     cond = 'pokemon_id != 2'
     test = consult.eval_cond(cond, self.tables)
     test_col = test['pokemon']
     # pokemon_id 2 is at index 1, since it goes 0, 1, 2...
     self.assertNotIn(1, test_col)
예제 #6
0
 def test_eval_cond_exist_cond(self):
     cond = 'EXISTE (EMPRESTA estadistica_nombre DE estadisticas)'
     self.assertTrue(consult.eval_cond(cond, self.tables))