rename bisimilarity, added test

This commit is contained in:
elvis
2025-11-16 02:07:47 +01:00
parent 99efe9140d
commit 7adc073aaf
6 changed files with 39 additions and 9 deletions

View File

@ -1,4 +1,4 @@
use super::bisimilarity_kanellakis_smolka::bisimilarity;
use super::kanellakis_smolka::bisimilarity;
#[test]
fn identity_kanellakis_smolka() {

View File

@ -1,8 +1,8 @@
pub mod bisimilarity_kanellakis_smolka;
pub mod bisimilarity_paige_tarjan;
pub mod kanellakis_smolka;
pub mod paige_tarjan;
#[cfg(test)]
mod test_kenallakis_smolka;
mod kenallakis_smolka_test;
#[cfg(test)]
mod test_paige_tarjan;
mod paige_tarjan_test;

View File

@ -1,4 +1,4 @@
use super::bisimilarity_paige_tarjan::{
use super::paige_tarjan::{
bisimilarity, bisimilarity_ignore_labels,
};
@ -201,3 +201,33 @@ fn bisimilar_paige_tarjan_2() {
assert!(bisimilarity(&&graph_a, &&graph_b));
assert!(bisimilarity_ignore_labels(&&graph_a, &&graph_b))
}
#[test]
fn bisimilar_paige_tarjan_3() {
use petgraph::Graph;
let mut graph_b = Graph::new();
let node_b_1 = graph_b.add_node(1);
let node_b_2 = graph_b.add_node(2);
graph_b.add_edge(node_b_1, node_b_2, 1);
let node_b_3 = graph_b.add_node(3);
graph_b.add_edge(node_b_2, node_b_3, 2);
let node_b_4 = graph_b.add_node(4);
graph_b.add_edge(node_b_3, node_b_4, 2);
let mut graph_c = Graph::new();
let node_c_1 = graph_c.add_node(1);
let node_c_2 = graph_c.add_node(2);
graph_c.add_edge(node_c_1, node_c_2, 1);
let node_c_3 = graph_c.add_node(3);
graph_c.add_edge(node_c_2, node_c_3, 2);
let node_c_4 = graph_c.add_node(4);
graph_c.add_edge(node_c_3, node_c_4, 2);
let node_c_5 = graph_c.add_node(5);
graph_c.add_edge(node_c_1, node_c_5, 1);
graph_c.add_edge(node_c_5, node_c_3, 2);
assert!(bisimilarity(&&graph_b, &&graph_c));
assert!(bisimilarity_ignore_labels(&&graph_b, &&graph_c))
}

View File

@ -700,9 +700,9 @@ where
.map_edges(edge_relabeler, &mut system_b.translator)?;
Ok(format!(
"{}",
// bisimilarity::bisimilarity_kanellakis_smolka::bisimilarity(&&a, &&b)
// bisimilarity::bisimilarity_paige_tarjan::bisimilarity_ignore_labels(&&a, &&b)
bisimilarity::bisimilarity_paige_tarjan::bisimilarity(&&a, &&b)
// bisimilarity::kanellakis_smolka::bisimilarity(&&a, &&b)
// bisimilarity::paige_tarjan::bisimilarity_ignore_labels(&&a, &&b)
bisimilarity::paige_tarjan::bisimilarity(&&a, &&b)
))
}