|
1 | 1 | use v6.d; |
2 | 2 | use Test; |
| 3 | +use CortexJS; |
3 | 4 | use CortexJS::ComputeEngine; |
4 | 5 |
|
5 | 6 | sub can-run-node() { |
@@ -36,13 +37,29 @@ LEAVE { try $ce.close if $ce.defined; } |
36 | 37 |
|
37 | 38 | plan *; |
38 | 39 |
|
39 | | -my $eq = $ce.parse-latex('x^2-1=0'); |
40 | | -my $solutions = $ce.solve($eq); |
41 | | -ok $solutions ~~ Positional, 'solve returns a positional result'; |
42 | | -ok $solutions.elems > 0, 'solve returns at least one solution'; |
| 40 | +subtest { |
| 41 | + my $eq = $ce.parse-latex('x^2-1=0'); |
| 42 | + my $solutions = $ce.solve($eq); |
| 43 | + ok $solutions ~~ Positional, 'solve returns a positional result'; |
| 44 | + ok $solutions.elems > 0, 'solve returns at least one solution'; |
43 | 45 |
|
44 | | -my $latex = $ce.to-latex($solutions[0]); |
45 | | -ok $latex ~~ Str, 'solution can be converted to latex'; |
46 | | -ok $latex.chars > 0, 'solution latex is not empty'; |
| 46 | + my $latex = $ce.to-latex($solutions[0]); |
| 47 | + ok $latex ~~ Str, 'solution can be converted to latex'; |
| 48 | + ok $latex.chars > 0, 'solution latex is not empty'; |
| 49 | +}, 'via computation engine object'; |
| 50 | + |
| 51 | +subtest { |
| 52 | + ok solve(parse-latex('x^2 - 5 x + 6 = 0'), 'x'); |
| 53 | + is-deeply solve(parse-latex('x^2 - 5 x + 6 = 0'), 'x'), [3, 2]; |
| 54 | + |
| 55 | + ok solve(parse-latex('x^2 - 5 x + 6 = 0')); |
| 56 | + is-deeply solve(parse-latex('x^2 - 5 x + 6 = 0')), [3, 2]; |
| 57 | + |
| 58 | +}, 'free function symbolic solution for x'; |
| 59 | + |
| 60 | +subtest { |
| 61 | + ok solve(parse-latex('x^2 - a x + 1 = 0'), 'a'); |
| 62 | + is-deeply solve(parse-latex('x^2 - a x + 1 = 0'), 'a'), [["Add", "x", ["Divide", 1, "x"]],]; |
| 63 | +}, 'free function symbolic solution for a'; |
47 | 64 |
|
48 | 65 | done-testing; |
0 commit comments