(self, prompt)
| 436 | |
| 437 | |
| 438 | def get_testcases(self, prompt): |
| 439 | if prompt not in self.prompt2instance: |
| 440 | raise ValueError("Cannot find the prompt in the dataset.") |
| 441 | |
| 442 | testcases = [] |
| 443 | |
| 444 | key = self.testcase_keywords[self.name] |
| 445 | if isinstance(key, str): |
| 446 | if isinstance(self.prompt2instance[prompt][key], list): |
| 447 | for testcase in self.prompt2instance[prompt][key]: |
| 448 | testcases.append(self.format_testcase(prompt, testcase, multiple = False)) |
| 449 | elif isinstance(self.prompt2instance[prompt][key], dict): |
| 450 | testcases += self.format_testcase(prompt,self.prompt2instance[prompt][key], multiple = True) |
| 451 | elif isinstance(self.prompt2instance[prompt][key], str): |
| 452 | if len(self.prompt2instance[prompt][key].strip()) == 0: |
| 453 | return testcases |
| 454 | try: |
| 455 | testcases += self.format_testcase(prompt, json.loads(self.prompt2instance[prompt][key]), multiple = True) |
| 456 | except Exception as e: |
| 457 | print(e) |
| 458 | return testcases |
| 459 | elif self.prompt2instance[prompt][key] == None: |
| 460 | pass |
| 461 | else: |
| 462 | raise ValueError("Unsupported testcase format: {}.".format(type(self.prompt2instance[prompt][key]))) |
| 463 | elif isinstance(key, list): |
| 464 | if len(self.prompt2instance[prompt][key[0]]) == 0 or ("input" in self.prompt2instance[prompt][key[0]] and len(self.prompt2instance[prompt][key[0]]["input"]) == 0): |
| 465 | testcases += self.format_testcase(prompt,self.prompt2instance[prompt][key[1]], multiple = True) |
| 466 | else: |
| 467 | testcases += self.format_testcase(prompt,self.prompt2instance[prompt][key[0]], multiple = True) |
| 468 | testcases += self.format_testcase(prompt,self.prompt2instance[prompt][key[1]], multiple = True) |
| 469 | |
| 470 | return testcases |
| 471 | |
| 472 | |
| 473 | def save_testcases(self, file_path = None): |
no test coverage detected