UNPKG

forge-mutation-tester

Version:

Mutation testing tool for Solidity smart contracts using Gambit

66 lines 2.03 kB
export interface CoverageReport { overallCoverage: number; lineCoverage: number; functionCoverage: number; branchCoverage: number; uncoveredLines: UncoveredLine[]; uncoveredFunctions: UncoveredFunction[]; uncoveredBranches: UncoveredBranch[]; fileReports: FileCoverageReport[]; } export interface UncoveredLine { file: string; lineNumber: number; code: string; importance: 'high' | 'medium' | 'low'; } export interface UncoveredFunction { file: string; functionName: string; lineNumber: number; signature: string; importance: 'high' | 'medium' | 'low'; } export interface UncoveredBranch { file: string; lineNumber: number; condition: string; branchType: 'if' | 'for' | 'while' | 'require' | 'assert'; importance: 'high' | 'medium' | 'low'; } export interface FileCoverageReport { file: string; lineCoverage: number; functionCoverage: number; branchCoverage: number; totalLines: number; coveredLines: number; totalFunctions: number; coveredFunctions: number; } export interface PrioritizedUncovered { lines: UncoveredLine[]; functions: UncoveredFunction[]; branches: UncoveredBranch[]; files: string[]; } export declare class CoverageService { analyzeCoverage(projectPath: string): Promise<CoverageReport>; private analyzeForgeProjectCoverage; private analyzeHardhatProjectCoverage; private parseCoverageData; private parseLCOVData; private findSourceFiles; private analyzeFileForUncoveredCode; prioritizeUncoveredCode(coverageReport: CoverageReport): Promise<PrioritizedUncovered>; private isExecutableLine; private identifyBranchType; private assessLineImportance; private assessFunctionImportance; private assessBranchImportance; private calculateAverageLineCoverage; private calculateAverageFunctionCoverage; private calculateAverageBranchCoverage; private getImportanceScore; } //# sourceMappingURL=coverage.service.d.ts.map