23525b2f4b6142e737e38d6f7f76ef0b0c786af5
[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           msprintf(_("%s: An error occured in ''%s'' subroutine.\n"), "dassl", "dassl")];
28 assert_checkerror("y = dae(y0, t0, t, f1);", refMsg);
29 // The evaluation function purposely lacks the input argument 'ydot'
30 deff("[ydot,ires] = f2(t, y)", "ydot = y^2 - y*sin(t) + cos(t)");
31 refMsg = [msprintf(_("Wrong number of input arguments."));
32           msprintf(_("%s: An error occured in ''%s'' subroutine.\n"), "dassl", "dassl")];
33 assert_checkerror("y = dae(y0, t0, t, f2);", refMsg);
34 // ----------------------------------
35 // Without initial yprime computation
36 // The evaluation function purposely lacks the output argument 'ires'
37 refMsg = [msprintf(_("%s: Wrong number of output argument(s): %d expected.\n"), "f1", 2);
38           msprintf(_("%s: An error occured in ''%s'' subroutine.\n"), "dassl", "dassl")];
39 assert_checkerror("y = dae([y0; 0], t0, t, f1);", refMsg);
40 // The evaluation function purposely lacks the input argument 'ydot'
41 refMsg = [msprintf(_("Wrong number of input arguments."));
42           msprintf(_("%s: An error occured in ''%s'' subroutine.\n"), "dassl", "dassl")];
43 assert_checkerror("y = dae([y0; 0], t0, t, f2);", refMsg);
44 // ==================================================================
45 // DASRT
46 deff("r = g(t, y)", "r = ones(y)");
47 // -------------------------------
48 // With initial yprime computation
49 // The evaluation function purposely lacks the output argument 'ires'
50 refMsg = [msprintf(_("%s: Wrong number of output argument(s): %d expected.\n"), "f1", 2);
51           msprintf(_("%s: An error occured in ''%s'' subroutine.\n"), "dasrt", "ddasrt")];
52 assert_checkerror("[y, r] = dae(""root"", y0, t0, t, f1, 1, g);", refMsg);
53 // The evaluation function purposely lacks the input argument 'ydot'
54 refMsg = [msprintf(_("Wrong number of input arguments."));
55           msprintf(_("%s: An error occured in ''%s'' subroutine.\n"), "dasrt", "ddasrt")];
56 assert_checkerror("[y, r] = dae(""root"", y0, t0, t, f2, 1, g);", refMsg);
57 // ----------------------------------
58 // Without initial yprime computation
59 // The evaluation function purposely lacks the output argument 'ires'
60 refMsg = [msprintf(_("%s: Wrong number of output argument(s): %d expected.\n"), "f1", 2);
61           msprintf(_("%s: An error occured in ''%s'' subroutine.\n"), "dasrt", "ddasrt")];
62 assert_checkerror("[y, r] = dae(""root"", [y0; 0], t0, t, f1, 1, g);", refMsg);
63 // The evaluation function purposely lacks the input argument 'ydot'
64 refMsg = [msprintf(_("Wrong number of input arguments."));
65           msprintf(_("%s: An error occured in ''%s'' subroutine.\n"), "dasrt", "ddasrt")];
66 assert_checkerror("[y, r] = dae(""root"", [y0; 0], t0, t, f2, 1, g);", refMsg);
67 // ==================================================================
68 // DASKR
69 // -------------------------------
70 // With initial yprime computation
71 // The evaluation function purposely lacks the output argument 'ires'
72 refMsg = [msprintf(_("%s: Wrong number of output argument(s): %d expected.\n"), "f1", 2);
73           msprintf(_("%s: An error occured in ''%s'' subroutine.\n"), "daskr", "ddaskr")];
74 assert_checkerror("[y, r] = dae(""root2"", y0, t0, t, f1, 1, g);", refMsg);
75 // The evaluation function purposely lacks the input argument 'ydot'
76 refMsg = [msprintf(_("Wrong number of input arguments."));
77           msprintf(_("%s: An error occured in ''%s'' subroutine.\n"), "daskr", "ddaskr")];
78 assert_checkerror("[y, r] = dae(""root2"", y0, t0, t, f2, 1, g);", refMsg);
79 // ----------------------------------
80 // Without initial yprime computation
81 // The evaluation function purposely lacks the output argument 'ires'
82 refMsg = [msprintf(_("%s: Wrong size for output argument #%d: A matrix of size %d expected.\n"), "g", 1, 1);
83          msprintf(_("%s: An error occured in ''%s'' subroutine.\n"), "daskr", "ddaskr")];
84 assert_checkerror("[y, r] = dae(""root2"", [y0; 0], t0, t, f1, 1, g);", refMsg);
85 // The evaluation function purposely lacks the input argument 'ydot'
86 assert_checkerror("[y, r] = dae(""root2"", [y0; 0], t0, t, f2, 1, g);", refMsg);