Mercurial > hg > ltpda
comparison testing/utp_1.1/generic_utps/utp_generic_aop_rule3.m @ 44:409a22968d5e default
Add unit tests
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Tue, 06 Dec 2011 18:42:11 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
43:bc767aaa99a8 | 44:409a22968d5e |
---|---|
1 | |
2 % <TestDescription> | |
3 % | |
4 % Tests the arithmetic operators rule 3. | |
5 % | |
6 % </TestDescription> | |
7 function result = utp_generic_aop_rule3(fcn) | |
8 | |
9 % <SyntaxDescription> | |
10 % | |
11 % Tests the arithmetic operators rule 3 for each data type: xydata, | |
12 % fsdata, tsdata, cdata and useful combinations. | |
13 % | |
14 % </SyntaxDescription> | |
15 | |
16 % Test AOs | |
17 % tsdata | |
18 n = 12; | |
19 fs = 12.1; | |
20 x = 0:(1/fs):(n/fs)-1/fs; | |
21 a_ts = ao(x,randn(n,1), fs); | |
22 a_ts.setDx(ones(n,1)*1.1); | |
23 a_ts.setDy((1:n)*2.2); | |
24 a_ts.setYunits('Hz^(-1/2) V^2'); | |
25 a_ts.setName(); | |
26 | |
27 b_ts = ao(x,randn(n,1), fs); | |
28 b_ts.setDx(7); | |
29 b_ts.setDy(9); | |
30 b_ts.setYunits('Hz^(-1/2) V^2'); | |
31 b_ts.setName(); | |
32 | |
33 V_N_ts = [copy(a_ts, 1), copy(a_ts, 1), copy(b_ts, 1)]; | |
34 V_M_ts = [copy(a_ts, 1), copy(b_ts, 1), copy(a_ts, 1), copy(b_ts, 1)]; | |
35 | |
36 % fsdata | |
37 a_fs = ao(plist('xvals', 1:n, 'yvals', abs(randn(n,1)), 'type', 'fsdata')); | |
38 a_fs.setDx(ones(n,1)*1.1); | |
39 a_fs.setDy((1:n)*2.2); | |
40 a_fs.setName(); | |
41 | |
42 b_fs = ao(plist('xvals', 1:n, 'yvals', abs(randn(n,1)), 'type', 'fsdata')); | |
43 b_fs.setDx(7); | |
44 b_fs.setDy(9); | |
45 b_fs.setName(); | |
46 | |
47 V_N_fs = [copy(a_fs, 1), copy(a_fs, 1), copy(b_fs, 1)]; | |
48 V_M_fs = [copy(a_fs, 1), copy(b_fs, 1), copy(a_fs, 1), copy(b_fs, 1)]; | |
49 | |
50 % xydata | |
51 a_xy = ao(plist('xvals', 1:n, 'yvals', abs(randn(n,1)), 'type', 'xydata')); | |
52 a_xy.setDx(ones(n,1)*1.1); | |
53 a_xy.setDy((1:n)*2.2); | |
54 a_xy.setYunits('Hz^(-1/2) V^2'); | |
55 a_xy.setName(); | |
56 | |
57 b_xy = ao(plist('xvals', 1:n, 'yvals', abs(randn(n,1)), 'type', 'xydata')); | |
58 b_xy.setDx(7); | |
59 b_xy.setDy(9); | |
60 b_xy.setName(); | |
61 | |
62 V_N_xy = [copy(a_xy, 1), copy(a_xy, 1), copy(b_xy, 1)]; | |
63 V_M_xy = [copy(a_xy, 1), copy(b_xy, 1), copy(a_xy, 1), copy(b_xy, 1)]; | |
64 | |
65 % cdata | |
66 a_c = ao(8); | |
67 a_c.setDy(2); | |
68 a_c.setName(); | |
69 | |
70 b_c = ao(111:122); | |
71 b_c.setDy((111:122)/100); | |
72 b_c.setName(); | |
73 | |
74 V_N_c = [copy(a_c, 1), copy(a_c, 1), copy(b_c, 1)]; | |
75 V_M_c = [copy(a_c, 1), copy(b_c, 1), copy(a_c, 1), copy(b_c, 1)]; | |
76 | |
77 % Define check functions | |
78 | |
79 result = []; | |
80 | |
81 % <AlgoDescription> | |
82 % | |
83 % Here we test element-wise operator rule3 as in S2-AEI-TN-3059. | |
84 % | |
85 % 1) Check the data type of the resulting object. | |
86 % 2) Check the resulting object contains the correct values. | |
87 % 3) Check the error propagation. | |
88 % 4) Check the units of the output object. | |
89 % 5) Check the resulting object can be rebuilt. | |
90 % | |
91 % </AlgoDescription> | |
92 | |
93 | |
94 % <AlgoCode> | |
95 % tsdata | |
96 result = [result utp_generic_aop_negative_core(fcn, 'rule3', 'vector tsdata and vector tsdata', V_M_ts, V_N_ts)]; | |
97 result = [result utp_generic_aop_negative_core(fcn, 'rule3', 'vector tsdata and vector tsdata', V_N_ts, V_M_ts)]; | |
98 result = [result utp_generic_aop_negative_core(fcn, 'rule3', 'vector tsdata and vector xydata', V_N_ts, V_M_xy)]; | |
99 result = [result utp_generic_aop_negative_core(fcn, 'rule3', 'vector xydata and vector tsdata', V_N_xy, V_M_ts)]; | |
100 result = [result utp_generic_aop_negative_core(fcn, 'rule3', 'vector tsdata and vector cdata', V_N_ts, V_M_c)]; | |
101 result = [result utp_generic_aop_negative_core(fcn, 'rule3', 'vector cdata and vector tsdata', V_N_c, V_M_ts)]; | |
102 | |
103 % fsdata | |
104 result = [result utp_generic_aop_negative_core(fcn, 'rule3', 'vector fsdata and vector fsdata', V_M_fs, V_N_fs)]; | |
105 result = [result utp_generic_aop_negative_core(fcn, 'rule3', 'vector fsdata and vector fsdata', V_N_fs, V_M_fs)]; | |
106 result = [result utp_generic_aop_negative_core(fcn, 'rule3', 'vector fsdata and vector xydata', V_N_fs, V_M_xy)]; | |
107 result = [result utp_generic_aop_negative_core(fcn, 'rule3', 'vector xydata and vector fsdata', V_N_xy, V_M_fs)]; | |
108 result = [result utp_generic_aop_negative_core(fcn, 'rule3', 'vector fsdata and vector cdata', V_N_fs, V_M_c)]; | |
109 result = [result utp_generic_aop_negative_core(fcn, 'rule3', 'vector cdata and vector fsdata', V_N_c, V_M_fs)]; | |
110 | |
111 % xydata | |
112 result = [result utp_generic_aop_negative_core(fcn, 'rule3', 'vector xydata and vector xydata', V_M_xy, V_N_xy)]; | |
113 result = [result utp_generic_aop_negative_core(fcn, 'rule3', 'vector xydata and vector xydata', V_N_xy, V_M_xy)]; | |
114 result = [result utp_generic_aop_negative_core(fcn, 'rule3', 'vector xydata and vector cdata', V_N_xy, V_M_c)]; | |
115 result = [result utp_generic_aop_negative_core(fcn, 'rule3', 'vector cdata and vector xydata', V_N_c, V_M_xy)]; | |
116 | |
117 % cdata | |
118 result = [result utp_generic_aop_negative_core(fcn, 'rule3', 'vector cdata and vector cdata', V_M_c, V_N_c)]; | |
119 result = [result utp_generic_aop_negative_core(fcn, 'rule3', 'vector cdata and vector cdata', V_N_c, V_M_c)]; | |
120 % </AlgoCode> | |
121 | |
122 end % END UTP_rule3 | |
123 | |
124 | |
125 |