def _load_data_from_file(self, csv_path): ''' lee el archivo csv y devuelve los datos en forma de base de datos OmipDB''' db = OmipDB() for item in self._get_items_from_csv_file(csv_path): (fecha, producto, valor) = item db.save_item(fecha, producto, valor) return db
def test_update(self): db1 = OmipDB() fecha = dt.datetime(2017, 10, 22) producto = "Q1-18" valor = 22.4 db1.save_item(fecha, producto, valor) #db[fecha, producto] = valor db2 = OmipDB() fecha = dt.datetime(2017, 10, 23) db1.save_item(fecha, producto, valor) db1.update(db2) self.assertEqual(len(db1.items()), 2)
def test_save_item_to_db(self): db = OmipDB() fecha = dt.datetime(2017, 10, 22) producto = "Q1-18" valor = 22.4 #db.save_item(fecha, producto, valor) db[fecha, producto] = valor #self.assertEqual(db.get_item(fecha, producto), valor) self.assertEqual(db[fecha, producto], valor) db = OmipDB() fecha = dt.datetime(2017, 10, 22) producto = "Q1-18" valor = 22.4 db.save_item(fecha, producto, valor) #db[fecha, producto] = valor self.assertEqual(db.get_item(fecha, producto), valor)
def test_get_items_entre_dos_fechas(self): db = OmipDB() db.save_item(dt.datetime(2017, 10, 1), "Q1-18", 10.44) db.save_item(dt.datetime(2017, 10, 1), "Q2-18", 20.44) db.save_item(dt.datetime(2017, 10, 2), "Q1-18", 10.55) db.save_item(dt.datetime(2017, 10, 2), "Q2-18", 20.55) db.save_item(dt.datetime(2017, 10, 3), "Q1-18", 11.43) ini = dt.datetime(2017, 10, 1) # 01/10/2017 fin = dt.datetime(2017, 10, 2) # 02/10/2017 values = db.get_items(date_ini = ini , date_fin = fin) self.assertEqual(len(values), 4) self.assertEqual(values[dt.datetime(2017, 10, 1), "Q1-18"], 10.44) self.assertEqual(values[dt.datetime(2017, 10, 1), "Q2-18"], 20.44) self.assertEqual(values[dt.datetime(2017, 10, 2), "Q1-18"], 10.55) self.assertEqual(values[dt.datetime(2017, 10, 2), "Q2-18"], 20.55)
def test_get_items_sin_indicar_fecha_muestra_todos_los_values(self): db = OmipDB() db.save_item(dt.datetime(2017, 10, 1), "Q1-18", 10.44) db.save_item(dt.datetime(2017, 10, 1), "Q2-18", 20.44) db.save_item(dt.datetime(2017, 10, 2), "Q1-18", 10.55) db.save_item(dt.datetime(2017, 10, 2), "Q2-18", 20.55) db.save_item(dt.datetime(2017, 10, 3), "Q1-18", 11.43) values = db.get_items() self.assertEqual(len(values), 5) #print("values: ", values) self.assertEqual(values[dt.datetime(2017, 10, 1), "Q1-18"], 10.44) self.assertEqual(values[dt.datetime(2017, 10, 1), "Q2-18"], 20.44) self.assertEqual(values[dt.datetime(2017, 10, 2), "Q1-18"], 10.55) self.assertEqual(values[dt.datetime(2017, 10, 2), "Q2-18"], 20.55) self.assertEqual(values[dt.datetime(2017, 10, 3), "Q1-18"], 11.43)
def test_fecha_in_date_range(self): ini = dt.datetime(2017, 10, 1) # 01/10/2017 fin = dt.datetime(2017, 10, 2) # 02/10/2017 db = OmipDB() db.save_item(dt.datetime(2017, 10, 1), "Q1-18", 10.44) db.save_item(dt.datetime(2017, 10, 1), "Q2-18", 20.44) db.save_item(dt.datetime(2017, 10, 2), "Q1-18", 10.55) db.save_item(dt.datetime(2017, 10, 2), "Q2-18", 20.55) db.save_item(dt.datetime(2017, 10, 3), "Q1-18", 11.43) #print("item: ", db[dt.datetime(2017, 10, 1), "Q1-18"]) #print("está el item? ", (dt.datetime(2017, 10, 1), "Q1-18") in db) self.assertEqual(db._fecha_in_date_range(dt.datetime(2017, 9, 30), ini, fin), False) self.assertEqual(db._fecha_in_date_range(dt.datetime(2017, 10, 1), ini, fin), True) self.assertEqual(db._fecha_in_date_range(dt.datetime(2017, 10, 2), ini, fin), True) self.assertEqual(db._fecha_in_date_range(dt.datetime(2017, 10, 3), ini, fin), False) self.assertEqual(db._fecha_in_date_range(dt.datetime(2017, 9, 30), None, fin), True) self.assertEqual(db._fecha_in_date_range(dt.datetime(2017, 10, 1), None, fin), True) self.assertEqual(db._fecha_in_date_range(dt.datetime(2017, 10, 2), None, fin), True) self.assertEqual(db._fecha_in_date_range(dt.datetime(2017, 10, 3), None, fin), False) self.assertEqual(db._fecha_in_date_range(dt.datetime(2017, 9, 30), ini, None), False) self.assertEqual(db._fecha_in_date_range(dt.datetime(2017, 10, 1), ini, None), True) self.assertEqual(db._fecha_in_date_range(dt.datetime(2017, 10, 2), ini, None), True) self.assertEqual(db._fecha_in_date_range(dt.datetime(2017, 10, 3), ini, None), True) self.assertEqual(db._fecha_in_date_range(dt.datetime(2017, 9, 30), None, None), True) self.assertEqual(db._fecha_in_date_range(dt.datetime(2017, 10, 1), None, None), True) self.assertEqual(db._fecha_in_date_range(dt.datetime(2017, 10, 2), None, None), True) self.assertEqual(db._fecha_in_date_range(dt.datetime(2017, 10, 3), None, None), True) ini = dt.datetime(2017, 11, 21) # 01/10/2017 fin = dt.datetime(2017, 11, 23) # 02/10/2017 self.assertEqual(db._fecha_in_date_range(dt.datetime(2017, 11, 22), ini, fin), True)