Skip to content

Commit 5ded261

Browse files
committed
init
1 parent 59294a5 commit 5ded261

File tree

1 file changed

+117
-116
lines changed

1 file changed

+117
-116
lines changed

test/visualisation/latexify.jl

Lines changed: 117 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ include("../test_networks.jl")
2929
### Just be sure to remove all such macros before you commit a change since it
3030
### will cause issues with Travis.
3131

32+
# Generally, for all latexify tests, the lines after `@test latexify(rn) == replace(` must
33+
# start without any tabs, hence the somewhat weird formatting.
3234

3335
### Basic Tests ###
3436

@@ -48,68 +50,68 @@ let
4850
(d1,d2,d3,d4,d5,d6), (X1,X2,X3,X4,X5,X6)
4951
end
5052

51-
# Latexify.@generate_test latexify(rn)
52-
@test_broken latexify(rn; expand_functions = false) == replace(
53-
raw"\begin{align*}
54-
\varnothing &\xrightarrow{\frac{X4^{n1} v1^{2} K1^{n1}}{\left( K1^{n1} + X4^{n1} \right) \left( K1^{n1} + X2^{n1} \right)}} \mathrm{X1} \\
55-
\varnothing &\xrightarrow{\mathrm{hill}\left( X5, v2, K2, n2 \right)} \mathrm{X2} \\
56-
\varnothing &\xrightarrow{\mathrm{hill}\left( X3, v3, K3, n3 \right)} \mathrm{X3} \\
57-
\varnothing &\xrightarrow{\mathrm{hillr}\left( X1, v4, K4, n4 \right)} \mathrm{X4} \\
58-
\varnothing &\xrightarrow{\mathrm{hill}\left( X2, v5, K5, n5 \right)} \mathrm{X5} \\
59-
\varnothing &\xrightarrow{\mathrm{hillar}\left( X1, X6, v6, K6, n6 \right)} \mathrm{X6} \\
60-
\mathrm{X2} &\xrightleftharpoons[k2]{k1} \mathrm{X1} + 2 \mathrm{X4} \\
61-
\mathrm{X4} &\xrightleftharpoons[k4]{k3} \mathrm{X3} \\
62-
3 \mathrm{X5} + \mathrm{X1} &\xrightleftharpoons[k6]{k5} \mathrm{X2} \\
63-
\mathrm{X1} &\xrightarrow{d1} \varnothing \\
64-
\mathrm{X2} &\xrightarrow{d2} \varnothing \\
65-
\mathrm{X3} &\xrightarrow{d3} \varnothing \\
66-
\mathrm{X4} &\xrightarrow{d4} \varnothing \\
67-
\mathrm{X5} &\xrightarrow{d5} \varnothing \\
68-
\mathrm{X6} &\xrightarrow{d6} \varnothing
69-
\end{align*}
70-
", "\r\n"=>"\n")
71-
72-
#Latexify.@generate_test latexify(rn; expand_functions=false)
73-
@test_broken latexify(rn; expand_functions = false) == replace(
74-
raw"\begin{align*}
75-
\varnothing &\xrightarrow{\frac{X4^{n1} v1^{2} K1^{n1}}{\left( K1^{n1} + X4^{n1} \right) \left( K1^{n1} + X2^{n1} \right)}} \mathrm{X1} \\
76-
\varnothing &\xrightarrow{\mathrm{mm}\left( X5, v2, K2 \right)} \mathrm{X2} \\
77-
\varnothing &\xrightarrow{\mathrm{mmr}\left( X3, v3, K3 \right)} \mathrm{X3} \\
78-
\varnothing &\xrightarrow{\mathrm{hillr}\left( X1, v4, K4, n4 \right)} \mathrm{X4} \\
79-
\varnothing &\xrightarrow{\mathrm{hill}\left( X2, v5, K5, n5 \right)} \mathrm{X5} \\
80-
\varnothing &\xrightarrow{\mathrm{hillar}\left( X1, X6, v6, K6, n6 \right)} \mathrm{X6} \\
81-
\mathrm{X2} &\xrightleftharpoons[k2]{k1} \mathrm{X1} + 2 \mathrm{X4} \\
82-
\mathrm{X4} &\xrightleftharpoons[k4]{k3} \mathrm{X3} \\
83-
3 \mathrm{X5} + \mathrm{X1} &\xrightleftharpoons[k6]{k5} \mathrm{X2} \\
84-
\mathrm{X1} &\xrightarrow{d1} \varnothing \\
85-
\mathrm{X2} &\xrightarrow{d2} \varnothing \\
86-
\mathrm{X3} &\xrightarrow{d3} \varnothing \\
87-
\mathrm{X4} &\xrightarrow{d4} \varnothing \\
88-
\mathrm{X5} &\xrightarrow{d5} \varnothing \\
89-
\mathrm{X6} &\xrightarrow{d6} \varnothing
90-
\end{align*}
91-
", "\r\n"=>"\n")
92-
93-
# Latexify.@generate_test latexify(rn, mathjax=false)
94-
@test_broken latexify(rn, mathjax = false) == replace(
95-
raw"\begin{align*}
96-
\varnothing &\xrightarrow{\frac{X4^{n1} v1^{2} K1^{n1}}{\left( K1^{n1} + X4^{n1} \right) \left( K1^{n1} + X2^{n1} \right)}} \mathrm{X1} \\
97-
\varnothing &\xrightarrow{\frac{X5 v2}{K2 + X5}} \mathrm{X2} \\
98-
\varnothing &\xrightarrow{\frac{K3 v3}{K3 + X3}} \mathrm{X3} \\
99-
\varnothing &\xrightarrow{\frac{v4 K4^{n4}}{K4^{n4} + X1^{n4}}} \mathrm{X4} \\
100-
\varnothing &\xrightarrow{\frac{v5 X2^{n5}}{X2^{n5} + K5^{n5}}} \mathrm{X5} \\
101-
\varnothing &\xrightarrow{\frac{v6 X1^{n6}}{X6^{n6} + K6^{n6} + X1^{n6}}} \mathrm{X6} \\
102-
\mathrm{X2} &\xrightleftharpoons[k2]{k1} \mathrm{X1} + 2 \mathrm{X4} \\
103-
\mathrm{X4} &\xrightleftharpoons[k4]{k3} \mathrm{X3} \\
104-
3 \mathrm{X5} + \mathrm{X1} &\xrightleftharpoons[k6]{k5} \mathrm{X2} \\
105-
\mathrm{X1} &\xrightarrow{d1} \varnothing \\
106-
\mathrm{X2} &\xrightarrow{d2} \varnothing \\
107-
\mathrm{X3} &\xrightarrow{d3} \varnothing \\
108-
\mathrm{X4} &\xrightarrow{d4} \varnothing \\
109-
\mathrm{X5} &\xrightarrow{d5} \varnothing \\
110-
\mathrm{X6} &\xrightarrow{d6} \varnothing
111-
\end{align*}
112-
", "\r\n"=>"\n")
53+
# Latexify.@generate_test latexify(rn; expand_functions = false)
54+
@test latexify(rn; expand_functions = false) == replace(
55+
raw"\begin{align*}
56+
\varnothing &\xrightarrow{\mathrm{hillr}\left( X2, v1, K1, n1 \right) \mathrm{hill}\left( X4, v1, K1, n1 \right)} \mathrm{X1} \\
57+
\varnothing &\xrightarrow{\mathrm{hill}\left( X5, v2, K2, n2 \right)} \mathrm{X2} \\
58+
\varnothing &\xrightarrow{\mathrm{hill}\left( X3, v3, K3, n3 \right)} \mathrm{X3} \\
59+
\varnothing &\xrightarrow{\mathrm{hillr}\left( X1, v4, K4, n4 \right)} \mathrm{X4} \\
60+
\varnothing &\xrightarrow{\mathrm{hill}\left( X2, v5, K5, n5 \right)} \mathrm{X5} \\
61+
\varnothing &\xrightarrow{\mathrm{hillar}\left( X1, X6, v6, K6, n6 \right)} \mathrm{X6} \\
62+
\mathrm{X2} &\xrightleftharpoons[k2]{k1} \mathrm{X1} + 2 \mathrm{X4} \\
63+
\mathrm{X4} &\xrightleftharpoons[k4]{k3} \mathrm{X3} \\
64+
3 \mathrm{X5} + \mathrm{X1} &\xrightleftharpoons[k6]{k5} \mathrm{X2} \\
65+
\mathrm{X1} &\xrightarrow{d1} \varnothing \\
66+
\mathrm{X2} &\xrightarrow{d2} \varnothing \\
67+
\mathrm{X3} &\xrightarrow{d3} \varnothing \\
68+
\mathrm{X4} &\xrightarrow{d4} \varnothing \\
69+
\mathrm{X5} &\xrightarrow{d5} \varnothing \\
70+
\mathrm{X6} &\xrightarrow{d6} \varnothing
71+
\end{align*}
72+
", "\r\n"=>"\n")
73+
74+
# Latexify.@generate_test latexify(rn; expand_functions = true)
75+
@test latexify(rn; expand_functions = true) == replace(
76+
raw"\begin{align*}
77+
\varnothing &\xrightarrow{\frac{X4^{n1} v1^{2} K1^{n1}}{\left( K1^{n1} + X4^{n1} \right) \left( K1^{n1} + X2^{n1} \right)}} \mathrm{X1} \\
78+
\varnothing &\xrightarrow{\frac{v2 X5^{n2}}{X5^{n2} + K2^{n2}}} \mathrm{X2} \\
79+
\varnothing &\xrightarrow{\frac{v3 X3^{n3}}{X3^{n3} + K3^{n3}}} \mathrm{X3} \\
80+
\varnothing &\xrightarrow{\frac{v4 K4^{n4}}{K4^{n4} + X1^{n4}}} \mathrm{X4} \\
81+
\varnothing &\xrightarrow{\frac{v5 X2^{n5}}{X2^{n5} + K5^{n5}}} \mathrm{X5} \\
82+
\varnothing &\xrightarrow{\frac{v6 X1^{n6}}{X6^{n6} + K6^{n6} + X1^{n6}}} \mathrm{X6} \\
83+
\mathrm{X2} &\xrightleftharpoons[k2]{k1} \mathrm{X1} + 2 \mathrm{X4} \\
84+
\mathrm{X4} &\xrightleftharpoons[k4]{k3} \mathrm{X3} \\
85+
3 \mathrm{X5} + \mathrm{X1} &\xrightleftharpoons[k6]{k5} \mathrm{X2} \\
86+
\mathrm{X1} &\xrightarrow{d1} \varnothing \\
87+
\mathrm{X2} &\xrightarrow{d2} \varnothing \\
88+
\mathrm{X3} &\xrightarrow{d3} \varnothing \\
89+
\mathrm{X4} &\xrightarrow{d4} \varnothing \\
90+
\mathrm{X5} &\xrightarrow{d5} \varnothing \\
91+
\mathrm{X6} &\xrightarrow{d6} \varnothing
92+
\end{align*}
93+
", "\r\n"=>"\n")
94+
95+
# Latexify.@generate_test latexify(rn, mathjax = false)
96+
@test latexify(rn, mathjax = false) == replace(
97+
raw"\begin{align*}
98+
\varnothing &\xrightarrow{\frac{X4^{n1} v1^{2} K1^{n1}}{\left( K1^{n1} + X4^{n1} \right) \left( K1^{n1} + X2^{n1} \right)}} \mathrm{X1} \\
99+
\varnothing &\xrightarrow{\frac{v2 X5^{n2}}{X5^{n2} + K2^{n2}}} \mathrm{X2} \\
100+
\varnothing &\xrightarrow{\frac{v3 X3^{n3}}{X3^{n3} + K3^{n3}}} \mathrm{X3} \\
101+
\varnothing &\xrightarrow{\frac{v4 K4^{n4}}{K4^{n4} + X1^{n4}}} \mathrm{X4} \\
102+
\varnothing &\xrightarrow{\frac{v5 X2^{n5}}{X2^{n5} + K5^{n5}}} \mathrm{X5} \\
103+
\varnothing &\xrightarrow{\frac{v6 X1^{n6}}{X6^{n6} + K6^{n6} + X1^{n6}}} \mathrm{X6} \\
104+
\mathrm{X2} &\xrightleftharpoons[k2]{k1} \mathrm{X1} + 2 \mathrm{X4} \\
105+
\mathrm{X4} &\xrightleftharpoons[k4]{k3} \mathrm{X3} \\
106+
3 \mathrm{X5} + \mathrm{X1} &\xrightleftharpoons[k6]{k5} \mathrm{X2} \\
107+
\mathrm{X1} &\xrightarrow{d1} \varnothing \\
108+
\mathrm{X2} &\xrightarrow{d2} \varnothing \\
109+
\mathrm{X3} &\xrightarrow{d3} \varnothing \\
110+
\mathrm{X4} &\xrightarrow{d4} \varnothing \\
111+
\mathrm{X5} &\xrightarrow{d5} \varnothing \\
112+
\mathrm{X6} &\xrightarrow{d6} \varnothing
113+
\end{align*}
114+
", "\r\n"=>"\n")
113115
end
114116

115117
# Tests basic functions on simple network (2).
@@ -121,35 +123,49 @@ let
121123
end
122124

123125
# Latexify.@generate_test latexify(rn)
124-
@test_broken latexify(rn) == replace(
125-
raw"\begin{align*}
126-
\varnothing &\xrightleftharpoons[d_{a}]{\frac{p_{a} B^{n}}{k^{n} + B^{n}}} \mathrm{A} \\
127-
\varnothing &\xrightleftharpoons[d_{b}]{p_{b}} \mathrm{B} \\
128-
3 \mathrm{B} &\xrightleftharpoons[r_{b}]{r_{a}} \mathrm{A}
129-
\end{align*}
130-
", "\r\n"=>"\n")
131-
132-
# Latexify.@generate_test latexify(rn, mathjax=false)
133-
@test_broken latexify(rn, mathjax = false) == replace(
134-
raw"\begin{align*}
135-
\varnothing &\xrightleftharpoons[d_{a}]{\frac{p_{a} B^{n}}{k^{n} + B^{n}}} \mathrm{A} \\
136-
\varnothing &\xrightleftharpoons[d_{b}]{p_{b}} \mathrm{B} \\
137-
3 \mathrm{B} &\xrightleftharpoons[r_{b}]{r_{a}} \mathrm{A}
138-
\end{align*}
139-
", "\r\n"=>"\n")
126+
@test latexify(rn) == replace(
127+
raw"\begin{align*}
128+
\varnothing &\xrightleftharpoons[d_{a}]{\frac{p_{a} B^{n}}{k^{n} + B^{n}}} \mathrm{A} \\
129+
\varnothing &\xrightleftharpoons[d_{b}]{p_{b}} \mathrm{B} \\
130+
3 \mathrm{B} &\xrightleftharpoons[r_{b}]{r_{a}} \mathrm{A}
131+
\end{align*}
132+
", "\r\n"=>"\n")
133+
134+
# Latexify.@generate_test latexify(rn, mathjax = false)
135+
@test latexify(rn, mathjax = false) == replace(
136+
raw"\begin{align*}
137+
\varnothing &\xrightleftharpoons[d_{a}]{\frac{p_{a} B^{n}}{k^{n} + B^{n}}} \mathrm{A} \\
138+
\varnothing &\xrightleftharpoons[d_{b}]{p_{b}} \mathrm{B} \\
139+
3 \mathrm{B} &\xrightleftharpoons[r_{b}]{r_{a}} \mathrm{A}
140+
\end{align*}
141+
", "\r\n"=>"\n")
140142
end
141143

142144
# Tests for system with parametric stoichiometry.
143145
let
144146
rn = @reaction_network begin
145147
p, 0 --> (m + n)*X
146148
end
147-
148-
@test_broken latexify(rn) == replace(
149-
raw"\begin{align*}
150-
\varnothing &\xrightarrow{p} (m + n)\mathrm{X}
151-
\end{align*}
152-
", "\r\n"=>"\n")
149+
150+
# Latexify.@generate_test latexify(rn)
151+
@test latexify(rn) == replace(
152+
raw"\begin{align*}
153+
\varnothing &\xrightarrow{p} (m + n)\mathrm{X}
154+
\end{align*}
155+
", "\r\n"=>"\n")
156+
end
157+
158+
# Checks for systems with vector species/parameters.
159+
# Technically tests would work, however, the display is non-ideal (https://github.com/SciML/Catalyst.jl/issues/932, https://github.com/JuliaSymbolics/Symbolics.jl/issues/1167).
160+
let
161+
rn = @reaction_network begin
162+
@parameters k[1:2] x[1:2] [isconstantspecies=true]
163+
@species (X(t))[1:2] (K(t))[1:2]
164+
(k[1]*K[1],k[2]*K[2]), X[1] + x[1] <--> X[2] + x[2]
165+
end
166+
167+
# Latexify.@generate_test latexify(rn)
168+
@test_broken false
153169
end
154170

155171
### Tests the `form` Option ###
@@ -170,21 +186,15 @@ let
170186
end
171187

172188
# Latexify.@generate_test latexify(rn; form=:ode)
173-
@test_broken latexify(rn; form = :ode) == replace(
174-
raw"$\begin{align}
175-
\frac{\mathrm{d} X\left( t \right)}{\mathrm{d}t} =& p - \left( X\left( t \right) \right)^{2} kB - d X\left( t \right) + 2 kD \mathrm{X2}\left( t \right) \\
176-
\frac{\mathrm{d} \mathrm{X2}\left( t \right)}{\mathrm{d}t} =& \frac{1}{2} \left( X\left( t \right) \right)^{2} kB - kD \mathrm{X2}\left( t \right)
177-
\end{align}
178-
$", "\r\n"=>"\n")
179-
180-
# Currently latexify doesn't handle SDE systems properly, and they look identical to ode systems.
181-
# The "==" shoudl be a "!=", but due to latexify tests not working, for the broken test to work, I changed it.
182-
@test_broken latexify(rn; form=:sde) == replace(
183-
raw"$\begin{align}
184-
\frac{\mathrm{d} X\left( t \right)}{\mathrm{d}t} =& p - \left( X\left( t \right) \right)^{2} kB - d X\left( t \right) + 2 kD \mathrm{X2}\left( t \right) \\
185-
\frac{\mathrm{d} \mathrm{X2}\left( t \right)}{\mathrm{d}t} =& \frac{1}{2} \left( X\left( t \right) \right)^{2} kB - kD \mathrm{X2}\left( t \right)
186-
\end{align}
187-
$", "\r\n"=>"\n")
189+
@test latexify(rn; form = :ode) == replace(
190+
raw"$\begin{align}
191+
\frac{\mathrm{d} X\left( t \right)}{\mathrm{d}t} =& p - d X\left( t \right) + 2 kD \mathrm{X2}\left( t \right) - \left( X\left( t \right) \right)^{2} kB \\
192+
\frac{\mathrm{d} \mathrm{X2}\left( t \right)}{\mathrm{d}t} =& - kD \mathrm{X2}\left( t \right) + \frac{1}{2} \left( X\left( t \right) \right)^{2} kB
193+
\end{align}
194+
$", "\r\n"=>"\n")
195+
196+
# Currently latexify doesn't handle SDE systems properly, and they look identical to ode systems (https://github.com/SciML/ModelingToolkit.jl/issues/2782).
197+
@test_broken false
188198

189199
# Tests that erroneous form gives error.
190200
@test_throws ErrorException latexify(rn; form=:xxx)
@@ -229,14 +239,15 @@ let
229239
end
230240

231241
# Latexify.@generate_test latexify(rn)
232-
@test_broken latexify(rn) == replace(
233-
raw"\begin{align*}
234-
\varnothing &\xrightarrow{p} (m + n)\mathrm{X}
235-
\end{align*}
236-
", "\r\n"=>"\n")
242+
@test latexify(rn) == replace(
243+
raw"\begin{align*}
244+
\mathrm{Y} &\xrightarrow{Y k} \varnothing
245+
\end{align*}
246+
", "\r\n"=>"\n")
237247
end
238248

239249
# Checks when combined with equations (nonlinear system).
250+
# Technically tests would work, however, the display is non-ideal (https://github.com/SciML/Catalyst.jl/issues/927).
240251
let
241252
t = default_t()
242253
base_network = @reaction_network begin
@@ -247,18 +258,8 @@ let
247258
extended = extend(decaying_rate, base_network)
248259

249260
# Latexify.@generate_test latexify(extended)
250-
@test_broken latexify(extended) == replace(
251-
raw"\begin{align*}
252-
\mathrm{X} &\xrightarrow{k r} \varnothing
253-
0 &= -1 - x\left( t \right)
254-
\end{align*}
255-
", "\r\n"=>"\n")
261+
@test_broken false
256262

257263
# Latexify.@generate_test latexify(extended, mathjax=false)
258-
@test_broken latexify(extended, mathjax = false) == replace(
259-
raw"\begin{align*}
260-
\mathrm{X} &\xrightarrow{k r} \varnothing
261-
0 &= -1 - x\left( t \right)
262-
\end{align*}
263-
", "\r\n"=>"\n")
264+
@test_broken false
264265
end

0 commit comments

Comments
 (0)