e6efbe6fbc8c3243626a2b5cb742f16f3cfc223d
[scilab.git] / scilab / modules / signal_processing / tests / unit_tests / syredi.tst
1 // This file must be used under the terms of the CeCILL.
2 // This source file is licensed as described in the file COPYING, which
3 // you should have received as part of this distribution.  The terms
4 // are also available at
5 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
6
7 // 'syredi' unit tests
8
9 test_path = pathconvert(SCI + '/modules/signal_processing/tests/unit_tests');
10
11 // requires test_utilities.sci
12 exec(test_path + 'test_utilities.sci');
13
14 // ****************************************************************
15 // * Part I: defining the tests                                   *
16 // * Part II: performing the tests                                *
17 // ****************************************************************
18 //  This file is distributed under the same license as the Scilab package.
19 // =============================================================================
20
21 // **** Part I: defining the tests ****
22
23 // old tests wrapped
24 function test_syredi_old()
25 [fact,b2,b1,b0,c1,c0,zzeros,zpoles]=syredi(1,4,[2*%pi/10,4*%pi/10,0,0],0.02,0.001);
26 ref_fact = 0.005976;
27 if norm(fact-ref_fact) > 0.0000037 then pause,end;
28 if or(b2<>[1 1 1]) then pause,end;
29 if or(size(b1)<>[1 3]) then pause,end;
30 if b1(3)<> 1 then pause,end;
31 if or(b0<>[1 1 0]) then pause,end;
32 if or(size(c1)<>[1 3]) then pause,end;
33 if or(size(c0)<>[1 3]) then pause,end;
34 if c0(3)<> 0 then pause,end;
35 if or(size(zzeros)<>[1 5]) then pause,end;
36 if or(size(zpoles)<>[1 5]) then pause,end;
37 endfunction
38
39 function test_syredi_new()
40 load(test_path + 'syredi.dat', 'fact1_ref', 'b21_ref', 'b11_ref', 'b01_ref', 'c11_ref', 'c01_ref', 'zzeros1_ref', 'zpoles1_ref', 'fact2_ref', 'b22_ref', 'b12_ref', 'b02_ref', 'c12_ref', 'c02_ref', 'zzeros2_ref', 'zpoles2_ref');
41 [fact1, b21, b11, b01, c11, c01, zzeros1, zpoles1] = syredi(1, 4, [1, 2, 0, 0], 0.02, 0.001);
42 check(list(fact1, b21, b11, b01, c11, c01, zzeros1, zpoles1), list(fact1_ref,b21_ref,b11_ref,b01_ref,c11_ref,c01_ref,zzeros1_ref,zpoles1_ref));
43 [fact2, b22, b12, b02, c12, c02, zzeros2, zpoles2] = syredi(3, 4, [1, 2, 3, 3.01], 0.1, 0.001);
44 check(list(fact2, b22, b12, b02, c12, c02, zzeros2, zpoles2), list(fact2_ref,b22_ref,b12_ref,b02_ref,c12_ref,c02_ref,zzeros2_ref,zpoles2_ref));
45 endfunction
46
47 // **** Part II: performing the tests ****
48
49 // wrap all tests together
50 function test_syredi()
51 test_syredi_old();
52 test_syredi_new();
53 endfunction
54
55 test_syredi();