Shutdown: help the style leak printer out a bit.
[gnumeric.git] / test / t9000-ssindex.pl
blob4b03fcbc7a2b0616e8069e58c8f83ebba3ea13c0
1 #!/usr/bin/perl -w
2 # -----------------------------------------------------------------------------
4 use strict;
5 use lib ($0 =~ m|^(.*/)| ? $1 : ".");
6 use GnumericTest;
8 &message ("Check ssindex.");
10 sub uniq { my %h; map { $h{$_} = 1} @_; return keys %h; }
12 sub compare_items {
13 my ($p1,$p2) = @_;
14 $p1 = [sort (&uniq (@$p1))];
15 $p2 = [sort (&uniq (@$p2))];
16 return 0 unless @$p1 eq @$p2;
17 while (@$p1) {
18 return 0 unless shift (@$p1) eq shift (@$p2);
20 return 1;
23 # -----------------------------------------------------------------------------
25 my @expected_statfuns =
26 ('#Succeded', '#Total', '1st test', '2nd test', '3rd test', 'AVEDEV',
27 'AVERAGE', 'AVERAGEA', 'Accuracy Limit', 'All ok.', 'BETADIST',
28 'BETAINV', 'BINOMDIST', 'CHIDIST', 'CHIINV', 'CHITEST', 'CONFIDENCE',
29 'CORREL', 'COUNT', 'COUNTA', 'COVAR', 'CRITBINOM', 'Correct', 'DEVSQ',
30 'EXPONDIST', 'FDIST', 'FINV', 'FISHER', 'FISHERINV', 'FORECAST',
31 'FREQUENCY', 'FTEST', 'Function', 'GAMMADIST', 'GAMMAINV', 'GAMMALN',
32 'GEOMEAN', 'GROWTH', 'HARMEAN', 'HYPGEOMDIST', 'INTERCEPT', 'KURT',
33 'LARGE', 'LINEST', 'LOGEST', 'LOGINV', 'LOGNORMDIST', 'MAX', 'MAXA',
34 'MEDIAN', 'MIN', 'MINA', 'MODE', 'NEGBINOMDIST', 'NORMDIST',
35 'NORMINV', 'NORMSDIST', 'NORMSINV', 'Ok.', 'PEARSON', 'PERCENTILE',
36 'PERCENTRANK', 'PERMUT', 'POISSON', 'PROB', 'QUARTILE', 'RANK', 'RSQ',
37 'SKEW', 'SLOPE', 'SMALL', 'STANDARDIZE', 'STATISTICAL FUNCTIONS',
38 'STDEV', 'STDEVA', 'STDEVP', 'STDEVPA', 'STEYX', 'Sheet1', 'Sheet10',
39 'Sheet11', 'Sheet12', 'Sheet13', 'Sheet14', 'Sheet15', 'Sheet16',
40 'Sheet2', 'Sheet3', 'Sheet4', 'Sheet5', 'Sheet6', 'Sheet7', 'Sheet8',
41 'Sheet9', 'Status', 'Status message', 'TDIST', 'TINV', 'TREND',
42 'TRIMMEAN', 'TTEST', 'Test Data:', 'Test Status', 'Total', 'VAR',
43 'VARA', 'VARP', 'VARPA', 'WEIBULL', 'ZTEST', '[0..1]', 'manytypes',
44 'mode', 'neg', 'pos&neg', 'same', 'text', 'x', 'y', 'z', 'Print_Area',
45 'Sheet10', 'Sheet11', 'Sheet12', 'Sheet13', 'Sheet14', 'Sheet15',
46 'Sheet16', 'Sheet2', 'Sheet3', 'Sheet4', 'Sheet5', 'Sheet6', 'Sheet7',
47 'Sheet8', 'Sheet9', 'Sheet_Title',
50 &test_ssindex ("$samples/excel/statfuns.xls",
51 (sub { &compare_items ($_, \@expected_statfuns); }));