5cbe1e2c123d5813a2c79895934a8e975f86b34b
[scilab.git] / scilab / modules / io / tests / unit_tests / saveload_v5.tst
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
8 warning("off");
9
10 funcprot(0);
11
12 global filename;
13 filename = TMPDIR+"/saveloadtst_mysave";
14
15 deff('r=Check(a,b,c,d)',[
16 '[lhs,rhs]=argn(),r=%t'
17 'global filename'
18 'select rhs'
19 'case 1 then'
20 'a1=a;save(filename,a1);a1=null();load(filename);'
21 'if or(a1<>a) then r=%f,end'
22 'case 2 then'
23 'a1=a;b1=b;save(filename,a1,b1);a1=null();b1=null();load(filename);'
24 'if or(a1<>a)|or(b1<>b) then r=%f,end'
25 'case 3 then'
26 'a1=a;b1=b;c1=c;'
27 'save(filename,a1,b1,c1);'
28 'a1=null();b1=null();c1=null();load(filename);'
29 'if or(a1<>a)|or(b1<>b)|or(c1<>c) then r=%f,end'
30 'case 4 then'
31 'a1=a;b1=b;c1=c;d1=d'
32 'save(filename,a1,b1,c1,d1);'
33 'a1=null();b1=null();c1=null();;d1=null();load(filename);'
34 'if or(a1<>a)|or(b1<>b)|or(c1<>c)|or(d1<>d) then r=%f,end'
35 'end,if ~r then pause,end'])
36
37 a=[];if ~Check(a) then pause,end
38 a=1;if ~Check(a) then pause,end
39 a=[1 2 3];if ~Check(a) then pause,end
40 a=[1 2 3;4 5 6];if ~Check(a) then pause,end
41 a=1:100000;if ~Check(a) then pause,end
42
43 a=1+%i;if ~Check(a) then pause,end
44 a=[1 2+%i 3];if ~Check(a) then pause,end
45 a=[1 2 3;4 5+%i 6];if ~Check(a) then pause,end
46 a=1:100000;a(35)=%i;if ~Check(a) then pause,end
47
48 a='';if ~Check(a) then pause,end
49 a='123';if ~Check(a) then pause,end
50 a=['1','abcdefgs';'' 'ABDCEFGHIJKLMN'];if ~Check(a) then pause,end
51 a=string(1:10000);if ~Check(a) then pause,end
52
53
54 a=1+%s;if ~Check(a) then pause,end
55 a=[1 2+%s 3];if ~Check(a) then pause,end
56 a=[1 2 3;4 5 6+%s];if ~Check(a) then pause,end
57 a=1:10000;a(4)=%s;if ~Check(a) then pause,end
58
59 a=1+%i+%s;if ~Check(a) then pause,end
60 a=[1 2+%i 3+%s];if ~Check(a) then pause,end
61 a=[1 2+%s 3;4 5+%i 6];if ~Check(a) then pause,end
62 a=1:100;a(35)=%i;a(1)=%s;if ~Check(a) then pause,end
63
64
65 a=%t;if ~Check(a) then pause,end
66 a=rand(100,100)>0.5;if ~Check(a) then pause,end
67
68 a=mtlb_sparse(sparse(1));if ~Check(a) then pause,end
69 a=mtlb_sparse(sprand(100,100,0.1));if ~Check(a) then pause,end
70 a=mtlb_sparse(sparse(zeros(100,100)));if ~Check(a) then pause,end
71
72
73
74
75 a=sparse(1)==1;if ~Check(a) then pause,end
76 a=sprand(100,100,0.1)<0.5;if ~Check(a) then pause,end
77 a=sparse(zeros(100,100))==1;if ~Check(a) then pause,end
78
79 a=1:$;if ~Check(a) then pause,end
80 a=1:3:$;if ~Check(a) then pause,end
81
82 a=int8(1);if ~Check(a) then pause,end
83 a=int8(1:9);if ~Check(a) then pause,end
84 a=int8(1:10000);if ~Check(a) then pause,end
85 a=uint8(1);if ~Check(a) then pause,end
86 a=uint8(1:9);if ~Check(a) then pause,end
87 a=uint8(1:10000);if ~Check(a) then pause,end
88
89 a=int16(1);if ~Check(a) then pause,end
90 a=int16(1:9);if ~Check(a) then pause,end
91 a=int16(1:10000);if ~Check(a) then pause,end
92 a=uint16(1);if ~Check(a) then pause,end
93 a=uint16(1:9);if ~Check(a) then pause,end
94 a=uint16(1:10000);if ~Check(a) then pause,end
95
96 a=int32(1);if ~Check(a) then pause,end
97 a=int32(1:9);if ~Check(a) then pause,end
98 a=int32(1:10000);if ~Check(a) then pause,end
99 a=uint32(1);if ~Check(a) then pause,end
100 a=uint32(1:9);if ~Check(a) then pause,end
101 a=uint32(1:10000);if ~Check(a) then pause,end
102
103
104 deff('x=a(n)','x=n+1','n');if ~Check(a) then pause,end
105 deff('x=a(n)','x=n+1');if ~Check(a) then pause,end
106 deff('x=a','x=n+1','n');if ~Check(a) then pause,end
107 deff('x=a','x=n+1');if ~Check(a) then pause,end
108 deff('a(n)','x=n+1','n');if ~Check(a) then pause,end
109 deff('a(n)','x=n+1');if ~Check(a) then pause,end
110 deff('a()','x=n+1','n');if ~Check(a) then pause,end
111 deff('a()','x=n+1');if ~Check(a) then pause,end
112
113 a=list();if ~Check(a) then pause,end
114 a=list(1);if ~Check(a) then pause,end
115 a=list(1,rand(10,10),'asdfsf');if ~Check(a) then pause,end
116 a=list(1,rand(10,10),'asdfsf',poly(rand(10,10),'s'));if ~Check(a) then pause,end
117 a=list(1);a(4)='as';if ~Check(a) then pause,end
118 a=list(1,rand(10,10),'asdfsf',poly(rand(1,11),'s','c'));if ~Check(a) then pause,end
119
120 a=list(list());if ~Check(a) then pause,end
121 a=list(list(1));if ~Check(a) then pause,end
122 a=list(list(1,rand(10,10),'asdfsf'));if ~Check(a) then pause,end
123 a=list(list(1,rand(10,10),'asdfsf',poly(rand(10,10),'s')));if ~Check(a) then pause,end
124 a=list(1);a(4)='as';a=list(a);if ~Check(a) then pause,end
125 a=list(list(1,rand(10,10),'asdfsf',poly(rand(1,11),'s','c')));if ~Check(a) then pause,end
126
127
128 a=list(list(),2);if ~Check(a) then pause,end
129 a=list(list(1),rand(3,3));if ~Check(a) then pause,end
130 a=list(list(1,rand(10,10),'asdfsf'),'sdfs');if ~Check(a) then pause,end
131 a=list(list(1,rand(10,10),'asdfsf',poly(rand(10,10),'s')),$);if ~Check(a) then pause,end
132 a=list(1);a(4)='as';a=list(a,[]);if ~Check(a) then pause,end
133 a=list(list(1,rand(10,10),'asdfsf',poly(rand(1,11),'s','c')),list());if ~Check(a) then pause,end
134
135
136
137 a=[];b=1;c=[1 2 3];d=[1 2 3;4 5 6];
138 if ~Check(a,b) then pause,end
139 if ~Check(a,b,c) then pause,end
140 if ~Check(a,b,c,d) then pause,end
141
142 a=1+%i;b=[1 2+%i 3];c=[1 2 3;4 5+%i 6];d=1:100000;d(35)=%i;
143 if ~Check(a,b) then pause,end
144 if ~Check(a,b,c) then pause,end
145 if ~Check(a,b,c,d) then pause,end
146
147 a=sprand(100,100,0.1);
148 b=sparse(zeros(100,100))==1;
149 c=list(list(1,rand(10,10),'asdfsf',poly(rand(1,11),'s','c')),list());
150 deff('d()','x=n+1','n');
151 if ~Check(a,b) then pause,end
152 if ~Check(a,b,c) then pause,end
153 if ~Check(a,b,c,d) then pause,end
154
155 //test save/load macro
156 function a = toto(x,y)
157     a = x + y;
158 endfunction
159
160 ref = toto(3*5, 9*3);
161 save(TMPDIR + "/savemacro.sod", "toto");
162 clear toto;
163 load(TMPDIR + "/savemacro.sod");
164 assert_checkequal(toto(3*5, 9*3), ref);
165 assert_checkequal(type(toto), 13);
166
167 clear toto;
168 deff("a = toto(x,y)", "a = x + y;", "n");
169 save(TMPDIR + "/savemacro.sod", "toto");
170 clear toto;
171 load(TMPDIR + "/savemacro.sod");
172 assert_checkequal(toto(3*5, 9*3), ref);
173 assert_checkequal(type(toto), 11);
174
175
176