use std::collections::HashMap;
#[derive(Debug, Clone, PartialEq)]
pub enum ReportFormat {
Html,
Markdown,
Json,
}
#[derive(Debug, Clone)]
pub struct ReportConfig {
pub output_format: String,
pub include_details: bool,
}
impl ReportConfig {
pub fn new(output_format: String, include_details: bool) -> Self {
Self {
output_format,
include_details,
}
}
}
#[derive(Debug, Clone)]
pub struct BenchmarkRunner {
}
impl BenchmarkRunner {
pub fn new() -> Self {
Self {}
}
}
#[derive(Debug, Clone)]
pub struct ResultCollector {
pub results: HashMap<String, f64>,
}
impl ResultCollector {
pub fn new() -> Self {
Self {
results: HashMap::new(),
}
}
pub fn add_result(&mut self, name: String, value: f64) {
self.results.insert(name, value);
}
}
#[derive(Debug, Clone)]
pub struct ReportGenerator {
pub config: ReportConfig,
}
impl ReportGenerator {
pub fn new(config: ReportConfig) -> Self {
Self { config }
}
pub fn generate(&self, format: ReportFormat) -> String {
match format {
ReportFormat::Html => "HTML report".to_string(),
ReportFormat::Markdown => "# Performance Report\n\n".to_string(),
ReportFormat::Json => "{}".to_string(),
}
}
}