* Bug #9783 fixed - Insertion overloading did not seem to work with mlist (non regres...
[scilab.git] / scilab / modules / overloading / tests / nonreg_tests / bug_9783.dia.ref
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 // create structure 
16 function [q] = new(x)
17   q = mlist(['X','x'], x);
18 endfunction
19 // q2(I) = q1
20 function [q2] = %X_i_X(I,q1,q2)
21   if (I == []) 
22     return; 
23   else
24     x2 = q2.x;
25     x1 = q1.x; 
26     x2(I) = x1;
27     q2 = new(x2);
28   end
29 endfunction
30 q0 = new([])
31  q0  =
32  
33  
34        q0(1)
35  
36 !X  x  !
37  
38        q0(2)
39  
40      []
41 q1 = new([91,93])
42  q1  =
43  
44  
45        q1(1)
46  
47 !X  x  !
48  
49        q1(2)
50  
51     91.    93.  
52 q2 = new([10,20,30,40])
53  q2  =
54  
55  
56        q2(1)
57  
58 !X  x  !
59  
60        q2(2)
61  
62     10.    20.    30.    40.  
63 q2([1,3]) = q1;
64 q2_ref = new([91 20 93 40]);
65 assert_checkequal(q2,q2_ref);
66 q2([]) = q0;
67 assert_checktrue(execstr("q2([])=q0","errcatch")==0);