def test_makedirs_badengine(self): fLOG(__file__, self._testMethodName, OutputPrint=__name__ == "__main__") temp = get_temp_folder(__file__, "temp_missing_makedirs2") dbf = os.path.join(temp, 'tr', 'td.db3') values = [ { "name": "A", "age": 10, "score": 34.5 }, { "name": "B", "age": 20, "score": -34.5 }, ] df = pandas.DataFrame(values) try: Database.fill_sql_table(df, dbf, "newtable", engine='rty') raise AssertionError('engine is recognized but should not') except DBException: pass
def test_makedirs_badengine(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__") temp = get_temp_folder(__file__, "temp_missing_makedirs2") dbf = os.path.join(temp, 'tr', 'td.db3') values = [{"name": "A", "age": 10, "score": 34.5}, {"name": "B", "age": 20, "score": -34.5}, ] df = pandas.DataFrame(values) try: Database.fill_sql_table(df, dbf, "newtable", engine='rty') raise AssertionError('engine is recognized but should not') except DBException: pass
def test_import_df(self): fLOG(__file__, self._testMethodName, OutputPrint=__name__ == "__main__") dbf = os.path.join(os.path.abspath(os.path.split(__file__)[0]), "temp_database_df.db3") if os.path.exists(dbf): os.remove(dbf) values = [ { "name": "A", "age": 10, "score": 34.5 }, { "name": "B", "age": 20, "score": -34.5 }, ] df = pandas.DataFrame(values) df = df[['age', 'name', 'score']] db = Database.fill_sql_table(df, dbf, "newtable") db.execute_view("SELECT * FROM newtable") df2 = db.to_df("SELECT * FROM newtable") df3 = df2[["age", "name", "score"]] self.assertGreater(len(df), 0) self.assertEqual(len(df3), len(df)) for a, b in zip(df.values, df3.values): self.assertGreater(len(a), 0) self.assertEqual(len(a), len(b)) for c, d in zip(a, b): self.assertEqual(c, d) db.close()
def test_import_df(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__") dbf = os.path.join( os.path.abspath( os.path.split(__file__)[0]), "temp_database_df.db3") if os.path.exists(dbf): os.remove(dbf) values = [{"name": "A", "age": 10, "score": 34.5}, {"name": "B", "age": 20, "score": -34.5}, ] df = pandas.DataFrame(values) db = Database.fill_sql_table(df, dbf, "newtable") db.execute_view("SELECT * FROM newtable") df2 = db.to_df("SELECT * FROM newtable") df3 = df2[["age", "name", "score"]] self.assertGreater(len(df), 0) self.assertEqual(len(df3), len(df)) for a, b in zip(df.values, df3.values): self.assertGreater(len(a), 0) self.assertEqual(len(a), len(b)) for c, d in zip(a, b): self.assertEqual(c, d) db.close()
def test_db_index(self): fLOG(__file__, self._testMethodName, OutputPrint=__name__ == "__main__") temp = get_temp_folder(__file__, "temp_missing_makedirs") dbf = os.path.join(temp, 'tr', 'td.db3') values = [ { "name": "A", "age": 10, "score": 34.5 }, { "name": "B", "age": 20, "score": -34.5 }, ] df = pandas.DataFrame(values) df = df[['age', 'name', 'score']] db = Database.fill_sql_table(df, dbf, "newtable") has = db.has_index('ind') self.assertFalse(has) resi = db.get_index_on_table('newtable', full=True) self.assertEqual(resi, []) resi = db.get_index_on_table('newtable', full=False) self.assertEqual(resi, []) resi = db.get_column_type('newtable', 'name') self.assertEqual(resi, str) self.assertRaise(lambda: db.get_column_type('newtable', 'name2'), DBException) resi = db.get_table_nfirst_lines('newtable', 2) self.assertEqual(resi, [(10, 'A', 34.5, 1), (20, 'B', -34.5, 2)]) cur = db.execute_script('SELECT name FROM newtable') self.assertEqual(cur, None) cur = db.execute_script('SELECT name FROM newtable', close=False) self.assertFalse(cur is None) db.create_table("nextable2", columns={ -1: ("key", int, "PRIMARYKEY", "AUTOINCREMENT"), 0: ("name", str), 1: ("number", float), 2: ('tint', int), 3: ('tint64', numpy.int64), 4: ('tfloat64', numpy.float64), 5: ('tdt', datetime.datetime), 6: ('tdec', decimal.Decimal) }) cur.close() db.close()
def test_makedirs(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__") temp = get_temp_folder(__file__, "temp_missing_makedirs") dbf = os.path.join(temp, 'tr', 'td.db3') values = [{"name": "A", "age": 10, "score": 34.5}, {"name": "B", "age": 20, "score": -34.5}, ] df = pandas.DataFrame(values) db = Database.fill_sql_table(df, dbf, "newtable") db.execute_view("SELECT * FROM newtable") db.close()
def test_db_index(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__") temp = get_temp_folder(__file__, "temp_missing_makedirs") dbf = os.path.join(temp, 'tr', 'td.db3') values = [{"name": "A", "age": 10, "score": 34.5}, {"name": "B", "age": 20, "score": -34.5}, ] df = pandas.DataFrame(values) db = Database.fill_sql_table(df, dbf, "newtable") has = db.has_index('ind') self.assertFalse(has) resi = db.get_index_on_table('newtable', full=True) self.assertEqual(resi, []) resi = db.get_index_on_table('newtable', full=False) self.assertEqual(resi, []) resi = db.get_column_type('newtable', 'name') self.assertEqual(resi, str) self.assertRaise(lambda: db.get_column_type( 'newtable', 'name2'), DBException) resi = db.get_table_nfirst_lines('newtable', 2) self.assertEqual(resi, [(10, 'A', 34.5, 1), (20, 'B', -34.5, 2)]) cur = db.execute_script('SELECT name FROM newtable') self.assertEqual(cur, None) cur = db.execute_script('SELECT name FROM newtable', close=False) self.assertFalse(cur is None) db.create_table("nextable2", columns={-1: ("key", int, "PRIMARYKEY", "AUTOINCREMENT"), 0: ("name", str), 1: ("number", float), 2: ('tint', int), 3: ('tint64', numpy.int64), 4: ('tfloat64', numpy.float64), 5: ('tdt', datetime.datetime), 6: ('tdec', decimal.Decimal)}) cur.close() db.close()
def test_makedirs(self): fLOG(__file__, self._testMethodName, OutputPrint=__name__ == "__main__") temp = get_temp_folder(__file__, "temp_missing_makedirs") dbf = os.path.join(temp, 'tr', 'td.db3') values = [ { "name": "A", "age": 10, "score": 34.5 }, { "name": "B", "age": 20, "score": -34.5 }, ] df = pandas.DataFrame(values) db = Database.fill_sql_table(df, dbf, "newtable") db.execute_view("SELECT * FROM newtable") db.close()