import unittest import pandas as pd from app import text2int TEST_DATA_FILE = "data/test_text2int.all.csv" class TestStringMethods(unittest.TestCase): def setUp(self): pass @staticmethod def get_text2int(text): """Makes a post request to the endpoint""" r = None try: r = text2int(text) except: pass return r def test_acc_score_text2int(self): """Calculates accuracy score for endpoint""" df = pd.read_csv(TEST_DATA_FILE) df["text2int"] = df["input"].apply(func=self.get_text2int) df["score"] = df[["output", "text2int"]].apply( lambda row: row[0] == row[1], axis=1 ) df.to_csv("data/text2int_results.csv", index=False) acc_score = df["score"].mean().__round__(2) self.assertGreaterEqual(acc_score, 0.8, f"Accuracy score: '{acc_score}'. Value is too low!") if __name__ == '__main__': unittest.main()