ffca0bb96535d15d8c5fcade29421f71613f0165
[scilab.git] / scilab / modules / differential_equations / tests / nonreg_tests / bug_13512.dia.ref
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2014 - Scilab Enterprises - Paul Bignier
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 //
8 // <-- CLI SHELL MODE -->
9 //
10 // <-- Non-regression test for bug 13512 -->
11 //
12 // <-- Bugzilla URL -->
13 //http://bugzilla.scilab.org/show_bug.cgi?id=13512
14 //
15 // <-- Short Description -->
16 // dae crashed if the evaluation function had wrong prototype
17 y0 = 0;
18 t0 = 0;
19 t  = 1;
20 // ==================================================================
21 // DASSL
22 // -------------------------------
23 // With initial yprime computation
24 // The evaluation function purposely lacks the output argument 'ires'
25 deff("ydot = f1(t, y, ydot)", "ydot = y^2 - y*sin(t) + cos(t)")
26 refMsg = msprintf(_("%s: Wrong number of output argument(s): %d expected.\n"), "f1", 2);
27 assert_checkerror("y = dae(y0, t0, t, f1);", refMsg);
28 // The evaluation function purposely lacks the input argument 'ydot'
29 deff("[ydot,ires] = f2(t, y)", "ydot = y^2 - y*sin(t) + cos(t)");
30 refMsg = msprintf(_("Wrong number of input arguments."));
31 assert_checkerror("y = dae(y0, t0, t, f2);", refMsg);
32 // ----------------------------------
33 // Without initial yprime computation
34 // The evaluation function purposely lacks the output argument 'ires'
35 refMsg = msprintf(_("%s: Wrong number of output argument(s): %d expected.\n"), "f1", 2);
36 assert_checkerror("y = dae([y0; 0], t0, t, f1);", refMsg);
37 // The evaluation function purposely lacks the input argument 'ydot'
38 refMsg = msprintf(_("Wrong number of input arguments."));
39 assert_checkerror("y = dae([y0; 0], t0, t, f2);", refMsg);
40 // ==================================================================
41 // DASRT
42 deff("r = g(t, y)", "r = ones(y)");
43 // -------------------------------
44 // With initial yprime computation
45 // The evaluation function purposely lacks the output argument 'ires'
46 refMsg = msprintf(_("%s: Wrong number of output argument(s): %d expected.\n"), "f1", 2);
47 assert_checkerror("[y, r] = dae(""root"", y0, t0, t, f1, 1, g);", refMsg);
48 // The evaluation function purposely lacks the input argument 'ydot'
49 refMsg = msprintf(_("Wrong number of input arguments."));
50 assert_checkerror("[y, r] = dae(""root"", y0, t0, t, f2, 1, g);", refMsg);
51 // ----------------------------------
52 // Without initial yprime computation
53 // The evaluation function purposely lacks the output argument 'ires'
54 refMsg = msprintf(_("%s: Wrong number of output argument(s): %d expected.\n"), "f1", 2);
55 assert_checkerror("[y, r] = dae(""root"", [y0; 0], t0, t, f1, 1, g);", refMsg);
56 // The evaluation function purposely lacks the input argument 'ydot'
57 refMsg = msprintf(_("Wrong number of input arguments."));
58 assert_checkerror("[y, r] = dae(""root"", [y0; 0], t0, t, f2, 1, g);", refMsg);
59 // ==================================================================
60 // DASKR
61 // -------------------------------
62 // With initial yprime computation
63 // The evaluation function purposely lacks the output argument 'ires'
64 refMsg = msprintf(_("%s: Wrong number of output argument(s): %d expected.\n"), "f1", 2);
65 assert_checkerror("[y, r] = dae(""root2"", y0, t0, t, f1, 1, g);", refMsg);
66 // The evaluation function purposely lacks the input argument 'ydot'
67 refMsg = msprintf(_("Wrong number of input arguments."));
68 assert_checkerror("[y, r] = dae(""root2"", y0, t0, t, f2, 1, g);", refMsg);
69 // ----------------------------------
70 // Without initial yprime computation
71 // The evaluation function purposely lacks the output argument 'ires'
72 refMsg = msprintf(_("%s: Wrong size for output argument #%d: A matrix of size %d expected.\n"), "g", 1, 1);
73 assert_checkerror("[y, r] = dae(""root2"", [y0; 0], t0, t, f1, 1, g);", refMsg);
74 // The evaluation function purposely lacks the input argument 'ydot'
75 assert_checkerror("[y, r] = dae(""root2"", [y0; 0], t0, t, f2, 1, g);", refMsg);