* Bug #8349 fixed - write_csv() failed to support writting complexes with %nan
[scilab.git] / scilab / modules / spreadsheet / tests / nonreg_tests / bug_8349.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2012 - S/E - Sylvestre Ledru
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 //
8 // <-- JAVA NOT MANDATORY -->
9 //
10 // <-- Non-regression test for bug 8349 -->
11 //
12 // <-- Bugzilla URL -->
13 // http://bugzilla.scilab.org/show_bug.cgi?id=8349
14 //
15 // <-- Short Description -->
16 // write_csv() failed to support writting complexes with %nan or %inf parts
17
18 m = [7,-2,9;1,-8,2;1,-6,0];
19 m = m*(1+%i);
20 filename=TMPDIR+"/test.txt";
21 write_csv(m,filename);
22 b=mgetl(filename);
23 assert_checkequal(b, ["7+7i,-2-2i,9+9i";"1+1i,-8-8i,2+2i";"1+1i,-6-6i,0+0i"]);
24 b=csvRead(filename);
25 assert_checkequal(b,m);
26
27 write_csv([ 1  %nan*(1+%i)],filename);
28 b=mgetl(filename);
29 assert_checkequal(b,"1+0i,Nan+Nani");
30 b=csvRead(filename);
31 assert_checkequal(b, [1  %nan*(1+%i)]);
32
33 write_csv([ 1.1  %nan*(1+%i)],filename);
34 b=mgetl(filename);
35 assert_checkequal(b,"1.1000000000000001+0i,Nan+Nani");
36 b=csvRead(filename);
37 assert_checkequal(b, [1.1  %nan*(1+%i)]);
38
39
40 write_csv([ 1  %inf*(1+%i)],filename)
41 b=mgetl(filename);
42 assert_checkequal(b,"1+0i,Inf+Infi");
43 b=csvRead(filename);
44 assert_checkequal(b, [1  %inf*(1+%i)]);
45
46 write_csv([ 1.1  %inf*(1+%i)],filename)
47 b=mgetl(filename);
48 assert_checkequal(b,"1.1000000000000001+0i,Inf+Infi");
49 b=csvRead(filename);
50 assert_checkequal(b, [1.1  %inf*(1+%i)]);
51
52 write_csv([ 1.1  1+%i*%inf],filename) 
53 b=mgetl(filename);
54 assert_checkequal(b,"1.1000000000000001+0i,Nan+Infi");
55 b=csvRead(filename);
56 assert_checkequal(b, [ 1.1  1+%i*%inf]);