from .Dataset import Dataset from evaluations.evalute import contest_evaluate, contest_evaluate_public_tests from constants.paths import * class APPSDataset(Dataset): def __init__( self, path: str = APPS_DATA_PATH, ): super().__init__(path) self.id_key = "id" def evaluate( self, item: dict, cur_imp: str, language: str, ): return contest_evaluate( generated_code=cur_imp, id=item["id"], tests=item["test_list"], lang=language ) def evaluate_sample_io( self, item: dict, cur_imp: str, language: str, ): if len(item["sample_io"]) == 0: return True, "" return contest_evaluate_public_tests( generated_code=cur_imp, id=item["id"], tests=item["sample_io"], lang=language ) @staticmethod def get_prompt(item): sample_io_format = "" if len(item['sample_io']) > 0: sample_io_format = f"Sample Input Format:\n{item['sample_io'][0]['input']}\nSample Output Format:\n{item['sample_io'][0]['output'][0]}\n\n-------\n" return f"{item['description']}\n\n{sample_io_format}Important: You must follow the input output format. Input should be taken from standard input and output should be given to standard output.\nNote: If you are writing a function then after the function definition take input from using `input()` function, call the function with specified parameters and finally print the output of the function."