Skip to content

Commit 4b1ccd4

Browse files
committed
WIP: Failing tt::modelgen::Model::from_text test
1 parent 2afd7cc commit 4b1ccd4

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

packages/catlog/src/stdlib/analyses/ode/polynomial_ode.rs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ mod tests {
136136
use crate::{
137137
simulate::ode::LatexEquation,
138138
stdlib::{models::*, theories::*},
139+
tt,
139140
};
140141

141142
// (Unsigned) Lotka–Volterra dynamics on a two-level model.
@@ -174,4 +175,29 @@ mod tests {
174175
];
175176
assert_eq!(expected, sys.to_latex_equations());
176177
}
178+
179+
// DoubleTT elaboration from text.
180+
#[test]
181+
fn ode_system_from_text() {
182+
let th = Rc::new(th_polynomial_ode_system());
183+
let model = tt::modelgen::Model::from_text(
184+
&th.into(),
185+
"[
186+
X : State,
187+
Y : State,
188+
A : State,
189+
f : Contrib[[X, Y, Y], A],
190+
g : Contrib[[X, X], Y],
191+
h : Contrib[[A], X]
192+
]",
193+
);
194+
let model = model.ok().and_then(|m| m.as_modal_non_unital()).unwrap();
195+
let sys = PolynomialODEAnalysis::default().build_system(&model);
196+
let expected = expect!([r#"
197+
dX = (h) A
198+
dY = (g) X^2
199+
dA = (f) X Y^2
200+
"#]);
201+
expected.assert_eq(&sys.to_string());
202+
}
177203
}

0 commit comments

Comments
 (0)