use crate::dot::{Edge, EdgeOp, EdgeRhs, EdgeStatement, Graph, GraphType, NodeId, Statement};
pub fn basic_1() -> Graph {
Graph {
strict: false,
id: None,
graph_type: Some(GraphType::Graph),
statements: vec![
Statement::EdgeStatement(EdgeStatement {
edge: Edge::NodeId(NodeId {
node_id: "a".to_string(),
port: None,
}),
edge_rhs_list: vec![EdgeRhs {
edge_op: EdgeOp::Line,
edge: Edge::NodeId(NodeId {
node_id: "b".to_string(),
port: None,
}),
}],
attributes: None,
}),
Statement::EdgeStatement(EdgeStatement {
edge: Edge::NodeId(NodeId {
node_id: "b".to_string(),
port: None,
}),
edge_rhs_list: vec![EdgeRhs {
edge_op: EdgeOp::Line,
edge: Edge::NodeId(NodeId {
node_id: "c".to_string(),
port: None,
}),
}],
attributes: None,
}),
Statement::EdgeStatement(EdgeStatement {
edge: Edge::NodeId(NodeId {
node_id: "a".to_string(),
port: None,
}),
edge_rhs_list: vec![EdgeRhs {
edge_op: EdgeOp::Line,
edge: Edge::NodeId(NodeId {
node_id: "c".to_string(),
port: None,
}),
}],
attributes: None,
}),
Statement::EdgeStatement(EdgeStatement {
edge: Edge::NodeId(NodeId {
node_id: "d".to_string(),
port: None,
}),
edge_rhs_list: vec![EdgeRhs {
edge_op: EdgeOp::Line,
edge: Edge::NodeId(NodeId {
node_id: "c".to_string(),
port: None,
}),
}],
attributes: None,
}),
Statement::EdgeStatement(EdgeStatement {
edge: Edge::NodeId(NodeId {
node_id: "e".to_string(),
port: None,
}),
edge_rhs_list: vec![EdgeRhs {
edge_op: EdgeOp::Line,
edge: Edge::NodeId(NodeId {
node_id: "c".to_string(),
port: None,
}),
}],
attributes: None,
}),
Statement::EdgeStatement(EdgeStatement {
edge: Edge::NodeId(NodeId {
node_id: "e".to_string(),
port: None,
}),
edge_rhs_list: vec![EdgeRhs {
edge_op: EdgeOp::Line,
edge: Edge::NodeId(NodeId {
node_id: "a".to_string(),
port: None,
}),
}],
attributes: None,
}),
],
}
}
pub fn digraph() -> Graph {
Graph {
strict: false,
id: None,
graph_type: Some(GraphType::Digraph),
statements: vec![
Statement::EdgeStatement(EdgeStatement {
edge: Edge::NodeId(NodeId {
node_id: "a".to_string(),
port: None,
}),
edge_rhs_list: vec![
EdgeRhs {
edge_op: EdgeOp::Arrow,
edge: Edge::NodeId(NodeId {
node_id: "b".to_string(),
port: None,
}),
},
EdgeRhs {
edge_op: EdgeOp::Arrow,
edge: Edge::NodeId(NodeId {
node_id: "c".to_string(),
port: None,
}),
},
],
attributes: None,
}),
Statement::EdgeStatement(EdgeStatement {
edge: Edge::NodeId(NodeId {
node_id: "c".to_string(),
port: None,
}),
edge_rhs_list: vec![EdgeRhs {
edge_op: EdgeOp::Arrow,
edge: Edge::NodeId(NodeId {
node_id: "d".to_string(),
port: None,
}),
}],
attributes: None,
}),
Statement::EdgeStatement(EdgeStatement {
edge: Edge::NodeId(NodeId {
node_id: "d".to_string(),
port: None,
}),
edge_rhs_list: vec![EdgeRhs {
edge_op: EdgeOp::Arrow,
edge: Edge::NodeId(NodeId {
node_id: "a".to_string(),
port: None,
}),
}],
attributes: None,
}),
],
}
}