(graph1: Graph, graph2: Graph)
| 4644 | } |
| 4645 | |
| 4646 | fn graphs_deep_equal(graph1: Graph, graph2: Graph) -> bool { |
| 4647 | let graph1_body = graph1.body.borrow(); |
| 4648 | let graph2_body = graph2.body.borrow(); |
| 4649 | if graph1_body.finalized != graph2_body.finalized { |
| 4650 | return false; |
| 4651 | } |
| 4652 | if graph1_body.nodes.len() != graph2_body.nodes.len() { |
| 4653 | return false; |
| 4654 | } |
| 4655 | for j in 0..graph1_body.nodes.len() { |
| 4656 | let node1 = graph1_body.nodes[j].clone(); |
| 4657 | let node2 = graph2_body.nodes[j].clone(); |
| 4658 | let node1_body = node1.body.borrow(); |
| 4659 | let node2_body = node2.body.borrow(); |
| 4660 | if node1_body.operation != node2_body.operation { |
| 4661 | return false; |
| 4662 | } |
| 4663 | let node_dependencies1: Vec<u64> = node1_body |
| 4664 | .node_dependencies |
| 4665 | .iter() |
| 4666 | .map(|n| n.upgrade().get_id()) |
| 4667 | .collect(); |
| 4668 | let node_dependencies2: Vec<u64> = node2_body |
| 4669 | .node_dependencies |
| 4670 | .iter() |
| 4671 | .map(|n| n.upgrade().get_id()) |
| 4672 | .collect(); |
| 4673 | if node_dependencies1 != node_dependencies2 { |
| 4674 | return false; |
| 4675 | } |
| 4676 | let graph_dependencies1: Vec<u64> = node1_body |
| 4677 | .graph_dependencies |
| 4678 | .iter() |
| 4679 | .map(|g| g.upgrade().get_id()) |
| 4680 | .collect(); |
| 4681 | let graph_dependencies2: Vec<u64> = node2_body |
| 4682 | .graph_dependencies |
| 4683 | .iter() |
| 4684 | .map(|g| g.upgrade().get_id()) |
| 4685 | .collect(); |
| 4686 | if graph_dependencies1 != graph_dependencies2 { |
| 4687 | return false; |
| 4688 | } |
| 4689 | } |
| 4690 | if graph1_body |
| 4691 | .output_node |
| 4692 | .clone() |
| 4693 | .map(|n| n.upgrade().get_id()) |
| 4694 | != graph2_body |
| 4695 | .output_node |
| 4696 | .clone() |
| 4697 | .map(|n| n.upgrade().get_id()) |
| 4698 | { |
| 4699 | return false; |
| 4700 | } |
| 4701 | true |
| 4702 | } |
| 4703 |
no test coverage detected