def test_evaluate(self): directory, script_name = os.path.split(os.path.abspath(__file__)) workbook_name = os.path.join(directory, "test_model.xlsx") sheet = "Sheet1" input_parameters = { "a": ("B2", sheet), "b": ("B3", sheet), "theta": ("B4", sheet) } output_parameters = {"feval": ("C2", sheet)} excel_black_obj = ExcelBlackBoxEvaluator(input_parameters, output_parameters, workbook_name, ExcelDriverCOM) to_evaluate = {"a": 2.0, "b": 2.0, "theta": math.pi} result = excel_black_obj.evaluate(to_evaluate) self.assertIsNotNone(result) expected_result = {"feval": 2.0 * math.sin((1 / 2.0) * math.pi)} self.assertEquals(expected_result, result) excel_black_obj.close()
def test_evaluate_dummy(self): sheet = "sheet1" input_parameters = {"a": ("B2", sheet), "b": ("B3", sheet), "theta": ("B4", sheet)} output_parameters = {"feval": ("C2", sheet)} workbook_name = "test_workbook.xlsx" excel_black_obj = ExcelBlackBoxEvaluator(input_parameters, output_parameters, workbook_name) to_evaluate = {"a": 2.0, "b": 2.0, "theta": math.pi} result = excel_black_obj.evaluate(to_evaluate) self.assertIsNotNone(result) expected_result = {"feval": 2.0 * math.sin((1/2.0) * math.pi)} self.assertEquals(expected_result, result)
def test_evaluate(self): directory, script_name = os.path.split(os.path.abspath(__file__)) workbook_name = os.path.join(directory, "test_model.xlsx") sheet = "Sheet1" input_parameters = {"a": ("B2", sheet), "b": ("B3", sheet), "theta": ("B4", sheet)} output_parameters = {"feval": ("C2", sheet)} excel_black_obj = ExcelBlackBoxEvaluator(input_parameters, output_parameters, workbook_name, ExcelDriverCOM) to_evaluate = {"a": 2.0, "b": 2.0, "theta": math.pi} result = excel_black_obj.evaluate(to_evaluate) self.assertIsNotNone(result) expected_result = {"feval": 2.0 * math.sin((1/2.0) * math.pi)} self.assertEquals(expected_result, result) excel_black_obj.close()
def test_evaluate_dummy(self): sheet = "sheet1" input_parameters = { "a": ("B2", sheet), "b": ("B3", sheet), "theta": ("B4", sheet) } output_parameters = {"feval": ("C2", sheet)} workbook_name = "test_workbook.xlsx" excel_black_obj = ExcelBlackBoxEvaluator(input_parameters, output_parameters, workbook_name) to_evaluate = {"a": 2.0, "b": 2.0, "theta": math.pi} result = excel_black_obj.evaluate(to_evaluate) self.assertIsNotNone(result) expected_result = {"feval": 2.0 * math.sin((1 / 2.0) * math.pi)} self.assertEquals(expected_result, result)
def main(input_spreadsheet_path, csv_output_file_name): total_evals_i = 1 for variable in order_to_evaluate: total_evals_i *= len(ranges_to_evaluate[variable]) print("Will make %s evaluations of the spreadsheet" % total_evals_i) i = 0 sex = ranges_to_evaluate["Sex"] age_years = ranges_to_evaluate["Age years"] race = ranges_to_evaluate["Race"] tc = ranges_to_evaluate["Total Cholesterol"] hdl = ranges_to_evaluate["HDL-Cholesterol"] sbp = ranges_to_evaluate["Systolic Blood Pressure"] bpt = ranges_to_evaluate["Treatment of High Blood Pressure"] diabetes = ranges_to_evaluate["Diabetes"] smoker = ranges_to_evaluate["Smoker"] with open(csv_output_file_name, "wb") as fw: csv_writer = csv.writer(fw) csv_writer.writerow(["row"] + order_to_evaluate + output_order_to_read) for j in range(len(sex)): for k in range(len(age_years)): for l in range(len(race)): for m in range(len(tc)): for n in range(len(hdl)): for o in range(len(sbp)): for p in range(len(bpt)): for q in range(len(diabetes)): for r in range(len(smoker)): dict_to_evaluate = {"Sex": sex[j], "Age years": age_years[k], "Race": race[l], "Total Cholesterol": tc[m], "HDL-Cholesterol": hdl[n], "Systolic Blood Pressure": sbp[o], "Treatment of High Blood Pressure": bpt[p], "Diabetes": diabetes[q], "Smoker": smoker[r], } row_to_write = [] for variable in order_to_evaluate: row_to_write += [dict_to_evaluate[variable]] if i % 100 == 0: if i == 0: pass else: print("Processed %s evaluations" % (i + 1,)) excel_black_obj.close() excel_black_obj = ExcelBlackBoxEvaluator(input_dict, output_dict, input_spreadsheet_path, ExcelDriverCOM) result_dict = excel_black_obj.evaluate(dict_to_evaluate) result_list = [] for output_variable in output_order_to_read: result_list += [result_dict[output_variable]] csv_writer.writerow([i + 1] + row_to_write + result_list) # if i == 5001: # excel_black_obj.close() # exit() i += 1
def main(input_spreadsheet_path, csv_output_file_name): total_evals_i = 1 for variable in order_to_evaluate: total_evals_i *= len(ranges_to_evaluate[variable]) print("Will make %s evaluations of the spreadsheet" % total_evals_i) i = 0 sex = ranges_to_evaluate["Sex"] age_years = ranges_to_evaluate["Age years"] race = ranges_to_evaluate["Race"] tc = ranges_to_evaluate["Total Cholesterol"] hdl = ranges_to_evaluate["HDL-Cholesterol"] sbp = ranges_to_evaluate["Systolic Blood Pressure"] bpt = ranges_to_evaluate["Treatment of High Blood Pressure"] diabetes = ranges_to_evaluate["Diabetes"] smoker = ranges_to_evaluate["Smoker"] with open(csv_output_file_name, "wb") as fw: csv_writer = csv.writer(fw) csv_writer.writerow(["row"] + order_to_evaluate + output_order_to_read) for j in range(len(sex)): for k in range(len(age_years)): for l in range(len(race)): for m in range(len(tc)): for n in range(len(hdl)): for o in range(len(sbp)): for p in range(len(bpt)): for q in range(len(diabetes)): for r in range(len(smoker)): dict_to_evaluate = { "Sex": sex[j], "Age years": age_years[k], "Race": race[l], "Total Cholesterol": tc[m], "HDL-Cholesterol": hdl[n], "Systolic Blood Pressure": sbp[o], "Treatment of High Blood Pressure": bpt[p], "Diabetes": diabetes[q], "Smoker": smoker[r], } row_to_write = [] for variable in order_to_evaluate: row_to_write += [ dict_to_evaluate[variable] ] if i % 100 == 0: if i == 0: pass else: print( "Processed %s evaluations" % (i + 1, )) excel_black_obj.close() excel_black_obj = ExcelBlackBoxEvaluator( input_dict, output_dict, input_spreadsheet_path, ExcelDriverCOM) result_dict = excel_black_obj.evaluate( dict_to_evaluate) result_list = [] for output_variable in output_order_to_read: result_list += [ result_dict[ output_variable] ] csv_writer.writerow([i + 1] + row_to_write + result_list) # if i == 5001: # excel_black_obj.close() # exit() i += 1