Assert edges, source and target nodes, tests
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@ -49,8 +49,8 @@ match {
|
||||
"UncommonEntitiesDeleted", "UncommonMaskEntitiesDeleted",
|
||||
"EntitiesAdded", "MaskEntitiesAdded",
|
||||
"UncommonEntitiesAdded", "UncommonMaskEntitiesAdded",
|
||||
"label", "if", "then", "else", "let", "=", "return", "for", "in",
|
||||
"not", "rand", ".empty", ".length", ".tostr",
|
||||
"label", "edge", "if", "then", "else", "let", "=", "return", "for", "in",
|
||||
"not", "rand", ".empty", ".length", ".tostr", ".source", ".target",
|
||||
"&&", "||", "^^", "<=", ">=", "==", "!=", "+", "*", "/", "%",
|
||||
"::", "substr", "min", "max", "commonsubstr",
|
||||
"AvailableEntities", "AllReactants", "AllInhibitors",
|
||||
@ -217,6 +217,7 @@ AssertAssignmentVar: assert::AssignmentVariable = {
|
||||
|
||||
AssertVariable: assert::Variable = {
|
||||
"label" => assert::Variable::Label,
|
||||
"edge" => assert::Variable::Edge,
|
||||
<v: Literal> => assert::Variable::Id(v),
|
||||
}
|
||||
|
||||
@ -262,6 +263,9 @@ AssertUnarySuffix: assert::Unary = {
|
||||
".length" => assert::Unary::Length,
|
||||
".tostr" => assert::Unary::ToStr,
|
||||
".toel" => assert::Unary::ToEl,
|
||||
".source" => assert::Unary::Source,
|
||||
".target" => assert::Unary::Target,
|
||||
".neighbours" => assert::Unary::Neighbours,
|
||||
"." <q: AssertQualifier> => assert::Unary::Qualifier(q),
|
||||
}
|
||||
|
||||
|
||||
@ -81,17 +81,13 @@ fn filter_delta<'a>(x: (&IdType, &'a RSprocess)) -> Option<&'a RSset> {
|
||||
use super::structure::RSprocess::*;
|
||||
let (id, rest) = x;
|
||||
|
||||
if let EntitySet {
|
||||
entities,
|
||||
next_process,
|
||||
} = rest
|
||||
if let EntitySet { entities, next_process } = rest
|
||||
&& let RecursiveIdentifier { identifier } = &**next_process
|
||||
&& identifier == id
|
||||
{
|
||||
if let RecursiveIdentifier { identifier } = &**next_process {
|
||||
if identifier == id {
|
||||
return Some(entities);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
None
|
||||
}
|
||||
|
||||
@ -196,17 +192,12 @@ fn filter_delta_named<'a>(
|
||||
return None;
|
||||
}
|
||||
|
||||
if let EntitySet {
|
||||
entities,
|
||||
next_process,
|
||||
} = rest
|
||||
if let EntitySet { entities, next_process } = rest
|
||||
&& let RecursiveIdentifier { identifier } = &**next_process
|
||||
&& identifier == id
|
||||
{
|
||||
if let RecursiveIdentifier { identifier } = &**next_process {
|
||||
if identifier == id {
|
||||
return Some(entities);
|
||||
}
|
||||
}
|
||||
}
|
||||
None
|
||||
}
|
||||
|
||||
|
||||
@ -6,7 +6,13 @@ Reactions: ([{a,b}, {c}, {b}])
|
||||
|
||||
Bisimilarity ("testing/adversarial.system") > Print,
|
||||
Digraph > Dot
|
||||
| Entities " - " Context " - entities masked: " MaskEntities {a}
|
||||
| Entities
|
||||
| EntitiesDeleted {a} ? "blue" ! "white"
|
||||
| ! "black"
|
||||
> Print,
|
||||
|
||||
Digraph > GraphML
|
||||
| Entities
|
||||
| Entities
|
||||
| ! "white"
|
||||
| ! "black" > Print
|
||||
> Print
|
||||
|
||||
Reference in New Issue
Block a user