MCPcopy Create free account
hub / github.com/SalesforceAIResearch/perfcodegen / get_testcases

Method get_testcases

src/dataset.py:438–470  ·  view source on GitHub ↗
(self, prompt)

Source from the content-addressed store, hash-verified

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):

Callers 1

save_testcasesMethod · 0.95

Calls 1

format_testcaseMethod · 0.95

Tested by

no test coverage detected