#[cfg(test)]
mod graph_tests {
use optionstratlib::visualization::Series2D;
use optionstratlib::visualization::TraceMode;
use optionstratlib::visualization::{Graph, GraphConfig, GraphData};
use rust_decimal_macros::dec;
struct MinimalGraph {
data: GraphData,
}
impl MinimalGraph {
fn new(data: GraphData) -> Self {
Self { data }
}
}
impl Graph for MinimalGraph {
fn graph_data(&self) -> GraphData {
self.data.clone()
}
}
#[test]
fn test_default_graph_config_implementation() {
let series = Series2D {
x: vec![dec!(1.0), dec!(2.0)],
y: vec![dec!(3.0), dec!(4.0)],
name: "Test Series".to_string(),
mode: TraceMode::Lines,
line_color: None,
line_width: None,
};
let data = GraphData::Series(series);
let graph = MinimalGraph::new(data);
let config = graph.graph_config();
assert_eq!(config, GraphConfig::default());
}
}