/** * QA360 Test Optimizer * * Optimizes generated tests for better quality and maintainability. * Removes redundancy, improves assertions, and enhances performance. */ import type { GeneratedTest } from './types.js'; /** * Optimization options */ export interface OptimizationOptions { /** * Remove duplicate tests */ removeDuplicates?: boolean; /** * Merge similar tests */ mergeSimilarTests?: boolean; /** * Improve assertions */ improveAssertions?: boolean; /** * Add performance optimizations */ addPerformanceOptimizations?: boolean; /** * Reduce test flakiness */ reduceFlakiness?: boolean; /** * Target maximum test count */ maxTestCount?: number; } /** * Optimization result */ export interface OptimizationResult { optimized: GeneratedTest[]; removed: number; merged: number; improvements: string[]; } /** * Test Optimizer class */ export declare class TestOptimizer { private readonly options; private readonly defaultOptions; constructor(options?: OptimizationOptions); /** * Optimize generated tests */ optimize(tests: GeneratedTest[]): OptimizationResult; /** * Remove duplicate tests */ private removeDuplicateTests; /** * Merge similar test cases */ private mergeSimilarTestCases; /** * Improve test assertions */ private improveTestAssertions; /** * Add performance improvements */ private addPerformanceImprovements; /** * Reduce test flakiness */ private reduceTestFlakiness; /** * Prioritize tests by importance */ private prioritizeTests; /** * Create test signature for deduplication */ private createTestSignature; /** * Calculate similarity between two tests */ private calculateSimilarity; /** * Merge multiple tests into one */ private mergeTests; /** * Extract test cases from code */ private extractTestCases; /** * Enhance assertions in code */ private enhanceAssertions; /** * Optimize performance */ private optimizePerformance; /** * Add stability improvements */ private addStabilityImprovements; /** * Get optimization suggestions for a test */ getSuggestions(test: GeneratedTest): string[]; } /** * Create optimizer with default config */ export declare function createOptimizer(options?: OptimizationOptions): TestOptimizer;