save/load macro in list
[scilab.git] / scilab / modules / io / tests / unit_tests / saveload_v5.dia.ref
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) ????-2008 - INRIA
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 warning("off");
8 funcprot(0);
9 global filename;
10 filename = TMPDIR+"/saveloadtst_mysave";
11 deff('r=Check(a,b,c,d)',[
12 '[lhs,rhs]=argn(),r=%t'
13 'global filename'
14 'select rhs'
15 'case 1 then'
16 'a1=a;save(filename,a1);a1=null();load(filename);'
17 'if or(a1<>a) then r=%f,end'
18 'case 2 then'
19 'a1=a;b1=b;save(filename,a1,b1);a1=null();b1=null();load(filename);'
20 'if or(a1<>a)|or(b1<>b) then r=%f,end'
21 'case 3 then'
22 'a1=a;b1=b;c1=c;'
23 'save(filename,a1,b1,c1);'
24 'a1=null();b1=null();c1=null();load(filename);'
25 'if or(a1<>a)|or(b1<>b)|or(c1<>c) then r=%f,end'
26 'case 4 then'
27 'a1=a;b1=b;c1=c;d1=d'
28 'save(filename,a1,b1,c1,d1);'
29 'a1=null();b1=null();c1=null();;d1=null();load(filename);'
30 'if or(a1<>a)|or(b1<>b)|or(c1<>c)|or(d1<>d) then r=%f,end'
31 'end,if ~r then bugmes();quit;end'])
32 a=[];if ~Check(a) then bugmes();quit;end
33 a=1;if ~Check(a) then bugmes();quit;end
34 a=[1 2 3];if ~Check(a) then bugmes();quit;end
35 a=[1 2 3;4 5 6];if ~Check(a) then bugmes();quit;end
36 a=1:100000;if ~Check(a) then bugmes();quit;end
37 a=1+%i;if ~Check(a) then bugmes();quit;end
38 a=[1 2+%i 3];if ~Check(a) then bugmes();quit;end
39 a=[1 2 3;4 5+%i 6];if ~Check(a) then bugmes();quit;end
40 a=1:100000;a(35)=%i;if ~Check(a) then bugmes();quit;end
41 a='';if ~Check(a) then bugmes();quit;end
42 a='123';if ~Check(a) then bugmes();quit;end
43 a=['1','abcdefgs';'' 'ABDCEFGHIJKLMN'];if ~Check(a) then bugmes();quit;end
44 a=string(1:10000);if ~Check(a) then bugmes();quit;end
45 a=1+%s;if ~Check(a) then bugmes();quit;end
46 a=[1 2+%s 3];if ~Check(a) then bugmes();quit;end
47 a=[1 2 3;4 5 6+%s];if ~Check(a) then bugmes();quit;end
48 a=1:10000;a(4)=%s;if ~Check(a) then bugmes();quit;end
49 a=1+%i+%s;if ~Check(a) then bugmes();quit;end
50 a=[1 2+%i 3+%s];if ~Check(a) then bugmes();quit;end
51 a=[1 2+%s 3;4 5+%i 6];if ~Check(a) then bugmes();quit;end
52 a=1:100;a(35)=%i;a(1)=%s;if ~Check(a) then bugmes();quit;end
53 a=%t;if ~Check(a) then bugmes();quit;end
54 a=rand(100,100)>0.5;if ~Check(a) then bugmes();quit;end
55 a=mtlb_sparse(sparse(1));if ~Check(a) then bugmes();quit;end
56 a=mtlb_sparse(sprand(100,100,0.1));if ~Check(a) then bugmes();quit;end
57 a=mtlb_sparse(sparse(zeros(100,100)));if ~Check(a) then bugmes();quit;end
58 a=sparse(1)==1;if ~Check(a) then bugmes();quit;end
59 a=sprand(100,100,0.1)<0.5;if ~Check(a) then bugmes();quit;end
60 a=sparse(zeros(100,100))==1;if ~Check(a) then bugmes();quit;end
61 a=1:$;if ~Check(a) then bugmes();quit;end
62 a=1:3:$;if ~Check(a) then bugmes();quit;end
63 a=int8(1);if ~Check(a) then bugmes();quit;end
64 a=int8(1:9);if ~Check(a) then bugmes();quit;end
65 a=int8(1:10000);if ~Check(a) then bugmes();quit;end
66 a=uint8(1);if ~Check(a) then bugmes();quit;end
67 a=uint8(1:9);if ~Check(a) then bugmes();quit;end
68 a=uint8(1:10000);if ~Check(a) then bugmes();quit;end
69 a=int16(1);if ~Check(a) then bugmes();quit;end
70 a=int16(1:9);if ~Check(a) then bugmes();quit;end
71 a=int16(1:10000);if ~Check(a) then bugmes();quit;end
72 a=uint16(1);if ~Check(a) then bugmes();quit;end
73 a=uint16(1:9);if ~Check(a) then bugmes();quit;end
74 a=uint16(1:10000);if ~Check(a) then bugmes();quit;end
75 a=int32(1);if ~Check(a) then bugmes();quit;end
76 a=int32(1:9);if ~Check(a) then bugmes();quit;end
77 a=int32(1:10000);if ~Check(a) then bugmes();quit;end
78 a=uint32(1);if ~Check(a) then bugmes();quit;end
79 a=uint32(1:9);if ~Check(a) then bugmes();quit;end
80 a=uint32(1:10000);if ~Check(a) then bugmes();quit;end
81 deff('x=a(n)','x=n+1','n');if ~Check(a) then bugmes();quit;end
82 deff('x=a(n)','x=n+1');if ~Check(a) then bugmes();quit;end
83 deff('x=a','x=n+1','n');if ~Check(a) then bugmes();quit;end
84 deff('x=a','x=n+1');if ~Check(a) then bugmes();quit;end
85 deff('a(n)','x=n+1','n');if ~Check(a) then bugmes();quit;end
86 deff('a(n)','x=n+1');if ~Check(a) then bugmes();quit;end
87 deff('a()','x=n+1','n');if ~Check(a) then bugmes();quit;end
88 deff('a()','x=n+1');if ~Check(a) then bugmes();quit;end
89 a=list();if ~Check(a) then bugmes();quit;end
90 a=list(1);if ~Check(a) then bugmes();quit;end
91 a=list(1,rand(10,10),'asdfsf');if ~Check(a) then bugmes();quit;end
92 a=list(1,rand(10,10),'asdfsf',poly(rand(10,10),'s'));if ~Check(a) then bugmes();quit;end
93 a=list(1);a(4)='as';if ~Check(a) then bugmes();quit;end
94 a=list(1,rand(10,10),'asdfsf',poly(rand(1,11),'s','c'));if ~Check(a) then bugmes();quit;end
95 a=list(list());if ~Check(a) then bugmes();quit;end
96 a=list(list(1));if ~Check(a) then bugmes();quit;end
97 a=list(list(1,rand(10,10),'asdfsf'));if ~Check(a) then bugmes();quit;end
98 a=list(list(1,rand(10,10),'asdfsf',poly(rand(10,10),'s')));if ~Check(a) then bugmes();quit;end
99 a=list(1);a(4)='as';a=list(a);if ~Check(a) then bugmes();quit;end
100 a=list(list(1,rand(10,10),'asdfsf',poly(rand(1,11),'s','c')));if ~Check(a) then bugmes();quit;end
101 a=list(list(),2);if ~Check(a) then bugmes();quit;end
102 a=list(list(1),rand(3,3));if ~Check(a) then bugmes();quit;end
103 a=list(list(1,rand(10,10),'asdfsf'),'sdfs');if ~Check(a) then bugmes();quit;end
104 a=list(list(1,rand(10,10),'asdfsf',poly(rand(10,10),'s')),$);if ~Check(a) then bugmes();quit;end
105 a=list(1);a(4)='as';a=list(a,[]);if ~Check(a) then bugmes();quit;end
106 a=list(list(1,rand(10,10),'asdfsf',poly(rand(1,11),'s','c')),list());if ~Check(a) then bugmes();quit;end
107 a=[];b=1;c=[1 2 3];d=[1 2 3;4 5 6];
108 if ~Check(a,b) then bugmes();quit;end
109 if ~Check(a,b,c) then bugmes();quit;end
110 if ~Check(a,b,c,d) then bugmes();quit;end
111 a=1+%i;b=[1 2+%i 3];c=[1 2 3;4 5+%i 6];d=1:100000;d(35)=%i;
112 if ~Check(a,b) then bugmes();quit;end
113 if ~Check(a,b,c) then bugmes();quit;end
114 if ~Check(a,b,c,d) then bugmes();quit;end
115 a=sprand(100,100,0.1);
116 b=sparse(zeros(100,100))==1;
117 c=list(list(1,rand(10,10),'asdfsf',poly(rand(1,11),'s','c')),list());
118 deff('d()','x=n+1','n');
119 if ~Check(a,b) then bugmes();quit;end
120 if ~Check(a,b,c) then bugmes();quit;end
121 if ~Check(a,b,c,d) then bugmes();quit;end
122 //test save/load macro
123 function a = toto(x,y)
124     a = x + y;
125 endfunction
126 l = list(toto);
127 ref = toto(3*5, 9*3);
128 save(TMPDIR + "/savemacro.sod", "toto");
129 clear toto;
130 load(TMPDIR + "/savemacro.sod");
131 assert_checkequal(toto(3*5, 9*3), ref);
132 assert_checkequal(type(toto), 13);
133 save(TMPDIR + "/savemacro.sod", "l");
134 clear l;
135 load(TMPDIR + "/savemacro.sod");
136 assert_checkequal(l(1)(3*5, 9*3), ref);
137 assert_checkequal(type(l(1)), 13);
138 clear toto;
139 deff("a = toto(x,y)", "a = x + y;", "n");
140 save(TMPDIR + "/savemacro.sod", "toto");
141 clear toto;
142 load(TMPDIR + "/savemacro.sod");
143 assert_checkequal(toto(3*5, 9*3), ref);
144 assert_checkequal(type(toto), 11);