* Bug #9783 fixed - Insertion overloading did not seem to work with mlist (non regres...
[scilab.git] / scilab / modules / overloading / tests / nonreg_tests / bug_9783.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2014 - Scilab Enterprises - Charlotte HECQUET
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 //
8 // <-- Non-regression test for bug 9783 -->
9 //
10 // <-- Bugzilla URL -->
11 // http://bugzilla.scilab.org/show_bug.cgi?id=9783
12 //
13 // <-- Short Description -->
14 // Insertion overloading does not seem to work with mlist
15
16
17 // create structure 
18 function [q] = new(x)
19   q = mlist(['X','x'], x);
20 endfunction
21
22 // q2(I) = q1
23 function [q2] = %X_i_X(I,q1,q2)
24   if (I == []) 
25     return; 
26   else
27     x2 = q2.x;
28     x1 = q1.x; 
29     x2(I) = x1;
30     q2 = new(x2);
31   end
32 endfunction
33
34 q0 = new([])
35 q1 = new([91,93])
36 q2 = new([10,20,30,40])
37
38 q2([1,3]) = q1;
39 q2_ref = new([91 20 93 40]);
40 assert_checkequal(q2,q2_ref);
41
42 q2([]) = q0;
43 assert_checktrue(execstr("q2([])=q0","errcatch")==0);