fcede47c6f66c778a6f2a7c13cf5a5650ae6750c
[scilab.git] / scilab / modules / data_structures / tests / unit_tests / hypermat.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 // <-- CLI SHELL MODE -->
8 //extraction
9 Data=list(1:12,(1:12)+rand(1,12)*%i,int32(1:12),(1:12)+%s,rand(1,12)>0.5,string(1:12));
10 test=1;
11 msg="Problem with extraction for hypermatrix of type %s in test %d.%d \n";
12 for k=1:size(Data)
13     data=Data(k);td=typeof(data);
14     h=hypermat([2 3 2],data);
15     if h(2,3,2)<>data(12) then mprintf(msg,td,test,k); bugmes();quit;end
16     if or(h(2,:,2)<>data([8 10 12])) then mprintf(msg,td,test,k); bugmes();quit;end
17     if or(h($,:,2)<>data([8 10 12])) then mprintf(msg,td,test,k); bugmes();quit;end
18     if or(h(:,3,2)<>matrix(data([11 12]),-1,1)) then mprintf(msg,test,k); bugmes();quit;end
19     if or(h(1:2)<>matrix(data([1 2]),-1,1)) then mprintf(msg,td,test,k); bugmes();quit;end
20     if or(h(1:3)<>matrix(data([1 2 3]),-1,1)) then mprintf(msg,td,test,k); bugmes();quit;end
21     if or(h(1,2:3)<>data([3 5])) then mprintf(msg,td,test,k); bugmes();quit;end
22     if or(h(1,4:5)<>data([7 9])) then mprintf(msg,td,test,k); bugmes();quit;end
23     msgToPrint=msprintf("    test%d.%d completed\n",test,k);write(%io(2),msgToPrint);
24 end
25     test1.1 completed
26     test1.2 completed
27     test1.3 completed
28     test1.4 completed
29     test1.5 completed
30     test1.6 completed
31 //insertion of []
32 test=2;
33 for k=1:size(Data)
34     data=Data(k);td=typeof(data);
35     h=hypermat([2 3 2],data);h1=h;
36     h(2,:,:)=[];
37     if or(size(h)<>[1 3 2]) then mprintf(msg,td,test,k); bugmes();quit;end
38     if or(h<>h1(1,:,:))  then mprintf(msg,td,test,k); bugmes();quit;end
39     h=hypermat([2 3 2],data);h1=h;
40     h(:,1:2,:)=[];
41     if or(size(h)<>[2 1 2]) then mprintf(msg,td,test,k); bugmes();quit;end
42     if or(h<>h1(:,3,:))  then mprintf(msg,td,test,k); bugmes();quit;end
43     h=hypermat([2 3 2],data);
44     h(:,:,:)=[];
45     if h<>[] then mprintf(msg,td,test,k); bugmes();quit;end
46     msgToPrint=msprintf("    test%d.%d completed\n",test,k);write(%io(2),msgToPrint);
47 end
48     test2.1 completed
49     test2.2 completed
50     test2.3 completed
51     test2.4 completed
52     test2.5 completed
53     test2.6 completed
54 msg="Problem with insertion for hypermatrix of type %s in test %d.%d \n";
55 //insertion of a single element
56 test=3;
57 for k=1:size(Data)
58     data=Data(k);td=typeof(data);
59     I=data(1);
60     h=hypermat([2 3 2],data);
61     h(2,3,2)=I;
62     if or(size(h)<>[2 3 2]) then mprintf(msg,td,test,k); bugmes();quit;end
63     if h(2,3,2)<>I then mprintf(msg,td,test,k); bugmes();quit;end
64     h=hypermat([2 3 2],data);
65     h(2,3)=I;
66     if or(size(h)<>[2 3 2]) then mprintf(msg,td,test,k); bugmes();quit;end
67     if h(2,3,1)<>I then mprintf(msg,td,test,k); bugmes();quit;end
68     h=hypermat([2 3 2],data);
69     h(2)=I;
70     if or(size(h)<>[2 3 2]) then mprintf(msg,td,test,k); bugmes();quit;end
71     if h(2,1,1)<>I then mprintf(msg,td,test,k); bugmes();quit;end
72     h=hypermat([2 3 2],data);
73     h(3)=I;
74     if or(size(h)<>[2 3 2]) then mprintf(msg,td,test,k); bugmes();quit;end
75     if h(1,2,1)<>I then mprintf(msg,td,test,k); bugmes();quit;end
76     h=hypermat([2 3 2],data);
77     h(3)=I;
78     if or(size(h)<>[2 3 2]) then mprintf(msg,td,test,k); bugmes();quit;end
79     if h(1,2,1)<>I then mprintf(msg,td,test,k); bugmes();quit;end
80     h=hypermat([2 3 2],data);
81     h([3,7])=I;
82     if or(size(h)<>[2 3 2]) then mprintf(msg,td,test,k); bugmes();quit;end
83     if h(1,2,1)<>I|h(1,1,2)<>I then mprintf(msg,td,test,k); bugmes();quit;end
84     msrExpected = msprintf(_("Submatrix incorrectly defined.\n"));
85     assert_checkerror("h=hypermat([2 3 2],data);h(13:15)=I", msrExpected);
86     msgToPrint=msprintf("    test%d.%d completed\n",test,k);write(%io(2),msgToPrint);
87 end
88     test3.1 completed
89     test3.2 completed
90     test3.3 completed
91     test3.4 completed
92     test3.5 completed
93     test3.6 completed
94 //extension of a 2D matrix to a 3D one
95 test=4;
96 for k=1:size(Data)
97     data=matrix(Data(k),3,-1);td=typeof(data);
98     I=data(1,1);
99     h=data;
100     h(3,4,2)=I;
101     if or(size(h)<>[3 4 2]) then mprintf(msg,td,test,k); bugmes();quit;end
102     if h(:,:,1)<>data then mprintf(msg,td,test,k); bugmes();quit;end
103     d=[];d(3,4)=I;
104     if h(:,:,2)<>d then mprintf(msg,td,test,k); bugmes();quit;end
105     msgToPrint=msprintf("    test%d.%d completed\n",test,k);write(%io(2),msgToPrint);
106 end
107     test4.1 completed
108     test4.2 completed
109     test4.3 completed
110     test4.4 completed
111     test4.5 completed
112     test4.6 completed