Backup-bdg's picture
Upload 964 files
51ff9e5 verified
import json
import re
def check_coverage(coverage_output, code_file):
json_cov = json.loads(coverage_output)
if code_file in json_cov['files'].keys():
file_data = json_cov['files'][code_file]
return True, file_data['summary']['percent_covered']
return False, 0
def check_mutation(mutation_output):
if 'total jobs: ' in mutation_output:
num_mutants = int(mutation_output.split('total jobs: ')[1].split('\n')[0])
final_conf = mutation_output.split('\n')[-1]
if len(final_conf.strip().split(' ')) == 3:
low, val, high = final_conf.split(' ')
low = float(low)
val = float(val)
high = float(high)
confidence_range = high - val
mutation_score = 100 - val
return True, num_mutants, mutation_score, confidence_range
return False, -1, 0, -1
def count_methods(code_str):
"""
Counts the number of methods/functions in a given string of code.
Args:
code_str (str): A string containing code.
Returns:
int: The number of methods/functions found.
"""
# Regular expression to find Python function definitions
pattern = r'\bdef\b\s+\w+\s*\('
matches = re.findall(pattern, code_str)
return len(matches)
def get_lines_of_code(code_str):
"""
Extracts lines of code from a given string.
Args:
code_str (str): A string containing code.
Returns:
list: A list of lines of code.
"""
return len(code_str.strip().split('\n'))