import { TestResult, TrendReport, Trend } from '../../types/reporting'; export class TrendAnalyzer { analyze(results: TestResult[]): TrendReport { return { totalTests: results.length, passRate: this.calculatePassRate(results), averageDuration: this.calculateAverageDuration(results), trends: this.calculateTrends(results) }; } private calculatePassRate(results: TestResult[]): number { const passed = results.filter(r => r.status === 'passed').length; return (passed / results.length) * 100; } private calculateAverageDuration(results: TestResult[]): number { const totalDuration = results.reduce((sum, r) => sum + r.duration, 0); return totalDuration / results.length; } private calculateTrends(results: TestResult[]): Trend[] { const trends: Trend[] = []; const now = new Date(); trends.push({ date: now.toISOString(), passRate: this.calculatePassRate(results), duration: this.calculateAverageDuration(results) }); return trends; } }