def test_delete_by_key_fail(): print("\n******************** " + "test_delete_by_key_fail" + " ********************") try: csv_tbl = CSVDataTable(table_name, connect_info, key_columns) print("Delete by primary key with None") csv_tbl.delete_by_key(None) except Exception as e: print("Exception =", e) print("Correct answer.") print("******************** " + "end test_delete_by_key_fail" + " ********************\n")
def test_delete_by_key_failure(self): csv_tbl = CSVDataTable("people", CONNECT_INFO, None) with self.assertRaises(Exception) as context: result = csv_tbl.delete_by_key([""]) self.assertEqual("Primary Key has not been setup yet!", str(context.exception)) csv_tbl = CSVDataTable("people", CONNECT_INFO, PRIMARY_KEY_SINGLE_FILED) with self.assertRaises(Exception) as context: result = csv_tbl.delete_by_key(["", ""]) self.assertEqual("Invalid key fields!", str(context.exception))
def test_delete_by_key_success(self): csv_tbl_s = CSVDataTable("people", CONNECT_INFO, PRIMARY_KEY_SINGLE_FILED) csv_tbl_m = CSVDataTable("people", CONNECT_INFO, PRIMARY_KEY_MULTIPLE_FIELD) result_s_1 = csv_tbl_s.delete_by_key(PRIMARY_KEY_SINGLE_VALUE) result_s_0 = csv_tbl_s.delete_by_key(["aaa"]) self.assertEqual(result_s_0, 0) self.assertEqual(result_s_1, 1) result_m_1 = csv_tbl_m.delete_by_key(PRIMARY_KEY_MULTIPLE_VALUE) result_m_0 = csv_tbl_m.delete_by_key(["aaa", "bbb"]) self.assertEqual(result_m_0, 0) self.assertEqual(result_m_1, 1)
def t_delete_by_key(): connect_info = {"directory": data_dir, "file_name": "People.csv"} csv_tbl = CSVDataTable("people", connect_info, key_columns=['playerID']) result = csv_tbl.delete_by_key(['aaronha01']) #csv_tbl.save() print(result)
def test_delete_by_key(): connect_info = {"directory": data_dir, "file_name": "People.csv"} csv_tbl = CSVDataTable("people", connect_info, key_columns=["playerID"]) result = csv_tbl.delete_by_key(key_fields=["aasedo01"]) print(result)
def t_csv_del_by_key(): connect_info = {"directory": data_dir, "file_name": "People.csv"} csv_tbl = CSVDataTable("people", connect_info, ["playerID"]) # key_fields = ["willite01"] key_fields = ["aardsda01"] n_deletions = csv_tbl.delete_by_key(key_fields) print("Delete by key: " + str(n_deletions) + " deletions") print(str(csv_tbl))
def test_delete_by_key(): connect_info = {"directory": data_dir, "file_name": "_Small.csv"} key_cols = ['playerID', 'yearID', 'stint', 'teamID'] key_values = ["battijo01", '1871', '1', 'CL1'] csv_tbl = CSVDataTable("batting", connect_info, key_columns=key_cols) output = csv_tbl.delete_by_key(key_fields=key_values) print("Query Result: \n", json.dumps(output, indent=2))
def test_delete_by_key(): connect_info = {"directory": data_dir, "file_name": "People_test.csv"} key_cols = ['playerID'] key_vals = ["aardsda01"] csv_tbl = CSVDataTable("people_test.csv", connect_info, key_columns=key_cols) result = csv_tbl.delete_by_key(dict(zip(key_cols, key_vals))) print("Number of rows deleted by key: ", result)
def t_delete_by_key2(): connect_info = { "directory": data_dir, "file_name": "shire.csv" } key_cols = ['last_name'] csv_tbl = CSVDataTable('shire', connect_info, key_columns=key_cols) result = csv_tbl.delete_by_key(['Logan']) print("The number of rows to delete by searching keys: {}".format(result)) print("The table now looks like: ", csv_tbl)
def t_delete_by_key(): connect_info = { "directory": data_dir, "file_name": "Batting.csv" } key_cols = ['playerID', 'teamID', 'yearID', 'stint'] key_fields = ['aaa', '1997', '1997', '1'] csv_tbl = CSVDataTable("batting", connect_info, key_columns=key_cols) res = csv_tbl.delete_by_key(key_fields) print("Query result =", res)
def delete_by_key_test(key_fields=None): """ :param data_table: :param key_fields: :return: """ # test case connect_info = {"directory": data_dir, "file_name": "Salaries.csv"} csv_tbl = CSVDataTable("Salaries", connect_info, None) key_fields = ["KCA"] affected_num = csv_tbl.delete_by_key(key_fields) print(affected_num)
def t_delete_by_key(): connect_info = { "directory": data_dir, "file_name": "Batting.csv" } key_cols = ['playerID', 'teamID'] key_vals = ['bowerfr01', 'PIT'] # one-to-one map between 'key_cols' and 'key_vals', modify them together csv_tbl = CSVDataTable("batting", connect_info, key_columns=key_cols) cnt = csv_tbl.delete_by_key(key_fields=key_vals) print("Number of rows deleted:", cnt)
def delete_by_key_test(key_fields=None): """ :param data_table: :param key_fields: :return: """ connect_info = {"directory": data_dir, "file_name": "Salaries.csv"} csv_tbl = CSVDataTable("Salaries", connect_info, key_columns=['playerID']) # csv_tbl = CSVDataTable("Salaries", connect_info, key_columns=['salary']) key_fields = ["barkele01"] affected_num = csv_tbl.delete_by_key(key_fields) print("performing delete_by_key_test") print("deleted and the affected_num is:") print(affected_num)
def test_delete_by_key_good(): print("\n******************** " + "test_delete_by_key_good" + " ********************") try: csv_tbl = CSVDataTable(table_name, connect_info, key_columns) print("Delete by primary key 'AARDSDA01'") res = csv_tbl.delete_by_key(['AARDSDA01']) print("Wrong primary key and nothing to delete. The number of the rows deleted =", res) print("\nDelete by primary key 'aardsda01'") r1 = csv_tbl.find_by_primary_key(['aardsda01']) print("BEFORE deleting, the row =\n", json.dumps(r1, indent=2)) print("Deleting...") r2 = csv_tbl.delete_by_key(['aardsda01']) print("Delete returned ", r2, "\n") r3 = csv_tbl.find_by_primary_key(['aardsda01']) print("AFTER deleting, the row =\n", json.dumps(r3, indent=2)) print("Correct answer.") except Exception as e: print("Exception =", e) print("Wrong answer.") print("******************** " + "end test_delete_by_key_good" + " ********************\n")
def t_delete_by_key(): connect_info = {"directory": data_dir, "file_name": "Batting.csv"} key_cols = ['playerID', 'teamID', 'yearID', 'stint'] fields = ['playerID', 'teamID', 'yearID', 'stint', 'AB', 'H', 'HR', 'RBI'] tmp = {'teamID': 'BOS', 'yearID': '1960'} key_vals = ['willite01', 'BOS', '1960', '1'] csv_tbl = CSVDataTable("batting", connect_info, key_cols) res = csv_tbl.delete_by_key(key_fields=key_vals) # print("Created table = " + str(csv_tbl)) print("Query result = ", res)
def t_delete_by_key(): connect_info = { "directory": "../Data", "file_name": "orderdetails.csv", "delimiter": ";" } csv_tbl = CSVDataTable("orderdetails", connect_info, key_columns=["orderNumber", "orderLineNumber"]) fields = ['orderNumber', 'productCode'] key_vals = ['10100', '2'] r = csv_tbl.delete_by_key(key_fields=key_vals) print("Delete returned ", r, "\n")
def t_delete_by_key(data_dir, file_name, key_cols, keys): connect_info = { "directory": data_dir, "file_name": file_name } csv_tbl = CSVDataTable(file_name.split('.csv')[0], connect_info, key_cols) res = csv_tbl.delete_by_key(key_fields=keys) check = csv_tbl.find_by_primary_key(key_fields=keys) if res > 0 and check: print("Record found - Delete by key on ", file_name.split('.csv')[0], "failed:\n", keys, "\n") elif res > 0: print("Record not found after deletion - Delete By Key on", file_name.split('.csv')[0], "with keys\n", keys, "\nwas successful with the deletion of {} rows".format(res), "\n") elif res == 0: print("No match found for deletion based on the given key", keys, "\nTest Successful. 0 rows deleted")
def test_delete_by_key(): print("\n******************** " + "test_delete_by_key" + " ********************") print("Compare time elapsed for delete_by_key.") csv_tbl = CSVDataTable(table_name, csv_connect_info, key_columns) rdb_tbl = RDBDataTable(table_name, rdb_connect_info, key_columns) start1 = time.time() r1 = csv_tbl.delete_by_key(['aardsda01']) end1 = time.time() elapsed1 = end1 - start1 print("Time elapsed for CSVDataTable is ", elapsed1, "seconds.") start2 = time.time() r2 = rdb_tbl.delete_by_key(['aardsda01']) end2 = time.time() elapsed2 = end2 - start2 print("Time elapsed for RDBDataTable is ", elapsed2, "seconds.") print("******************** " + "end test_delete_by_key" + " ********************\n")
def t_delete_by_key(): connect_info = {"directory": data_dir, "file_name": "Batting.csv"} key_cols = ['playerID', 'teamID', 'yearID', 'stint'] key_fields = ['aardsda01', 'ATL', '1999', '0'] file = "csv_table_test.txt" with open(file, 'a+') as f: f.write("\n\n******************** " + "test_delete_by_key" + " ********************") try: csv_tbl = CSVDataTable("batting", connect_info, key_columns=key_cols) new_record = { 'playerID': 'aardsda01', 'yearID': '1999', 'teamID': 'ATL', 'stint': '0' } csv_tbl.insert(new_record) with open(file, 'a+') as f: f.write("\nLooking up with key = " + str(key_fields)) r1 = csv_tbl.find_by_primary_key(key_fields) with open(file, 'a+') as f: f.write("\nReturned row = '\n'" + str(json.dumps(r1, indent=3))) r2 = csv_tbl.delete_by_key(key_fields) with open(file, 'a+') as f: f.write("\nDelete returned " + str(r2)) r3 = csv_tbl.find_by_primary_key(key_fields) with open(file, 'a+') as f: f.write("\nQuery result after delete = " + str(json.dumps(r3, indent=2))) f.write("\nThis is the correct answer.") except Exception as e: with open(file, 'a+') as f: f.write("\nDelete failed. Exception = " + str(e)) f.write("\nThis is the wrong answer.") with open(file, 'a+') as f: f.write("\n******************** " + "end test_delete_by_key" + " ********************")
def t_csv_delete_by_key(): connect_info = {"directory": data_dir, "file_name": "People.csv"} csv_tbl = CSVDataTable("people", connect_info, ["playerID"]) r1 = {"playerID": "abbotgl01"} print("Lines removed:", csv_tbl.delete_by_key(["abbotgl01"]), "should equal 1") print("Lines removed:", csv_tbl.delete_by_key(["abbotgl01"]), "should equal 0") print("Lines removed:", csv_tbl.delete_by_key(["abbeych01"]), "should equal 1") try: csv_tbl.delete_by_key(None) print("None test, failed") except Exception: print("None test, passed") try: csv_tbl.delete_by_key(["abbeych01", "1866", "10", "sdfafdsa"]) print("field-size test, failed") except Exception: print("field-size test, passed")
def test_delete_by_key(): connect_info = {"directory": data_dir, "file_name": "People.csv"} csv_tbl = CSVDataTable("people", connect_info, ["playerID"]) print(csv_tbl.find_by_primary_key(["abernte01"])) csv_tbl.delete_by_key(["abernte01"]) print(csv_tbl.find_by_primary_key(["abernte01"]))
import csv from src.CSVDataTable import CSVDataTable connect_info = { "directory": '../Data/baseballdatabank-2019.2/core/', "file_name": "Appearances.csv" } csv_tbl = CSVDataTable("Appearances", connect_info, ['yearID','teamID','playerID','']) result = csv_tbl.find_by_primary_key(['1871','CL1','bassjo01']) result1 = csv_tbl.find_by_template({'teamID':'TRO','playerID':'abercda01'}) result2 = csv_tbl.delete_by_key(['1871','CL1','bassjo01']) result3 = csv_tbl.delete_by_template({'teamID':'TRO','playerID':'abercda01'}) result4 = csv_tbl.update_by_key(['1871','RC1','barkeal01'],['1996','JGS','janane1']) result5 = csv_tbl.update_by_template({'teamID':'JGS','playerID':'janane1'},{'teamID':'JJJ','playerID':'jjjjjjjjjj'}) result6 = csv_tbl.insert({'G_ss': '15', 'teamID': 'BS1', 'G_lf': '0', 'lgID': 'NA', 'yearID': '1871', 'G_3b': '0', 'G_defense': '31', 'G_rf': '0', 'G_all': '31', 'G_pr': '0', 'GS': '31', 'G_batting': '31', 'G_1b': '0', 'G_p': '0', 'playerID': 'barnero01', 'G_c': '0', 'G_cf': '0', 'G_2b': '16', 'G_ph': '0', 'G_of': '0', 'G_dh': '0'}) print('find_by_primary_key',result) print('find_by_template',result1) print('delete_by_key',result2) print('delete_by_template',result3) print('update_by_key',result4) print('update_by_template',result5) print('insert',result6) # csv_data = load_csv(dir_path, file_name)
def test_delete_By_Key(): connect_info = {"directory": data_dir, "file_name": "People.csv"} csv_tbl = CSVDataTable("People", connect_info, key_columns=['birthDay']) result = csv_tbl.delete_by_key(['8']) print(result)