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