1# Before `make install' is performed this script should be runnable with
2# `make test'.
3
4##################### We start with some black magic to print on failure.
5
6BEGIN { $| = 1; print "1..13\n"; }
7END {print "not ok 1\n" unless $loaded;}
8use Text::NSP::Measures::2D::CHI::phi;
9$loaded = 1;
10print "ok 1\n";
11
12######################### End of black magic.
13
14############ Computing phi value for some count values.
15
16$phi_value = calculateStatistic(n11 => 10,
17                                      n1p => 20,
18                                      np1 => 20,
19                                      npp => 60);
20$err = getErrorCode();
21if($err)
22{
23    print "not ok 3\n";
24}
25elsif($phi_value == 0.0625)
26{
27    print "ok 2\n";
28}
29else
30{
31    print "not ok 2\n";
32}
33
34############Error Code check for missing values
35
36%count_values = (n1p => 20,
37                 np1 => 20,
38                 npp => 60);
39
40$value = calculateStatistic(%count_values);
41
42$err = getErrorCode();
43if($err == 200)
44{
45  print "ok 3\n";
46}
47else
48{
49  print"not ok 3\n";
50}
51
52############Error Code check for missing values
53
54%count_values = (n11 =>10,
55                 np1 => 20,
56                 npp => 60);
57
58$value = calculateStatistic(%count_values);
59
60$err = getErrorCode();
61if($err == 200)
62{
63  print "ok 4\n";
64}
65else
66{
67  print"not ok 4\n";
68}
69############Error Code check for missing values
70
71%count_values = (n11=>10,
72                 n1p => 20,
73                 np1 => 20);
74
75$value = calculateStatistic(%count_values);
76
77$err = getErrorCode();
78if($err == 200)
79{
80  print "ok 5\n";
81}
82else
83{
84  print"not ok 5\n";
85}
86############Error Code check for -ve values
87
88%count_values = (n11 => -10,
89                 n1p => 20,
90                 np1 => 20,
91                 npp => 60);
92
93$value = calculateStatistic(%count_values);
94
95$err = getErrorCode();
96if($err == 201)
97{
98  print "ok 6\n";
99}
100else
101{
102  print"not ok 6\n";
103}
104
105############Error Code check for -ve values
106
107%count_values = (n11 => 10,
108                 n1p => -20,
109                 np1 => 20,
110                 npp => 60);
111
112$value = calculateStatistic(%count_values);
113
114$err = getErrorCode();
115if($err == 204)
116{
117  print "ok 7\n";
118}
119else
120{
121  print"not ok 7\n";
122}
123
124############Error Code check for -ve values
125
126%count_values = (n11 => 10,
127                 n1p => 20,
128                 np1 => 20,
129                 npp => -60);
130
131$value = calculateStatistic(%count_values);
132
133$err = getErrorCode();
134if($err == 204)
135{
136  print "ok 8\n";
137}
138else
139{
140  print"not ok 8\n";
141}
142
143############Error Code check invalid values
144
145%count_values = (n11 => 80,
146                 n1p => 20,
147                 np1 => 20,
148                 npp => 60);
149
150$value = calculateStatistic(%count_values);
151
152$err = getErrorCode();
153if($err == 202)
154{
155  print "ok 9\n";
156}
157else
158{
159  print"not ok 9\n";
160}
161
162############Error Code check invalid values
163
164%count_values = (n11 => 30,
165                 n1p => 20,
166                 np1 => 20,
167                 npp => 60);
168
169$value = calculateStatistic(%count_values);
170
171$err = getErrorCode();
172if($err == 202)
173{
174  print "ok 10\n";
175}
176else
177{
178  print"not ok 10\n";
179}
180
181
182############Error Code check invalid values
183
184%count_values = (n11 => 10,
185                 n1p => 70,
186                 np1 => 20,
187                 npp => 60);
188
189$value = calculateStatistic(%count_values);
190
191$err = getErrorCode();
192if($err == 203)
193{
194  print "ok 11\n";
195}
196else
197{
198  print"not ok 11\n";
199}
200
201############## Checking Error code for -ve observed frequency
202
203$value = calculateStatistic(n11 => 10,
204                                    n1p => 20,
205                                    np1 => 11,
206                                    npp => 20);
207$err = getErrorCode();
208if($err==201)
209{
210    print "ok 12\n";
211}
212else
213{
214    print "not ok 12\n";
215}
216
217############## Checking measure value for a contingency table with a zero observed value
218
219$value = calculateStatistic(n11 => 10,
220                                    n1p => 20,
221                                    np1 => 20,
222                                    npp => 30);
223$err = getErrorCode();
224
225## condition relaxed due to 64 bit failure
226## if($value==0.25)
227
228if($value < 0.3 && $value > 0.2)
229{
230    print "ok 13\n";
231}
232else
233{
234    print "not ok 13\n";
235}
236