use serde::{Deserialize, Serialize};
use super::card_graph::CardDependencyGraph;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Default)]
pub struct DependencyGraph {
#[serde(default)]
pub cards: CardDependencyGraph,
}
impl DependencyGraph {
pub fn new() -> Self {
Self::default()
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_dependency_graph_creation() {
let graph = DependencyGraph::new();
assert_eq!(graph.cards.edge_count(), 0);
}
#[test]
fn test_dependency_graph_serialization() {
let graph = DependencyGraph::new();
let json = serde_json::to_string(&graph).unwrap();
let deserialized: DependencyGraph = serde_json::from_str(&json).unwrap();
assert_eq!(deserialized.cards.edge_count(), 0);
}
}