AT_BANNER([CHARTS Rudimentary run tests]) dnl Check that the charts work dnl Currently, "work" means that the commands which dnl should generate them, run without crashing. dnl Better tests will come later (hopefully) AT_SETUP([Examine]) AT_DATA([charts.sps],[ input program. loop #i = 1 to 1000. compute x = rv.normal (56, 3) + rv.uniform (1, 1). compute y = rv.normal (6, 2) + rv.uniform (1, 2). compute A = rv.uniform (-1, 1). compute A = (A > 0). end case. end loop. end file. end input program. examine x y by a /plot = histogram, npplot spreadlevel(1) . examine x y by a /compare = groups /plot = boxplot . examine x y by a /compare = variables /plot = boxplot . ]) AT_CHECK([pspp -O format=csv charts.sps], [0], [ignore]) AT_CLEANUP AT_SETUP([Roc]) AT_DATA([roc.sps],[ data list list /fred * group * w *. begin data. 99 0 1000 99 1 3 97 0 908 97 1 2 95 0 904 96 1 7 94 1 9 93 0 823 93 1 12 90 0 723 90 1 42 84 0 523 84 1 98 73 0 500 75 1 180 63 0 520 69 1 320 60 0 510 60 1 418 50 0 488 54 1 432 46 0 428 43 1 528 36 0 324 36 1 612 26 0 294 28 1 682 20 0 119 20 1 719 10 0 97 10 1 809 end data. weight by w. compute bert = fred + (group < 0.5) * 45. compute charlie = fred + (group > 0.5) * 15. ROC /fred bert charlie by group (0) /plot = curve (reference). ]) AT_CHECK([pspp -O format=csv roc.sps], [0], [ignore]) AT_CLEANUP AT_SETUP([Scree]) AT_DATA([scree.sps],[ input program. vector vec(10). loop #i = 1 to 100. loop #v = 1 to 3. compute vec(#v) = rv.normal (0, 45). end loop. loop #v = 4 to 10. compute vec(#v) = vec (#v - 3) + rv.normal (0, 30). end loop. end case. end loop. end file. end input program. factor /variables = all /print initial /plot = eigen. ]) AT_CHECK([pspp -O format=csv scree.sps], [0], [ignore]) AT_CLEANUP AT_SETUP([Histogram]) AT_DATA([histogram.sps],[ * This test is designed to "torture" the code which generates histograms. It is no-crash test. However the code is rich in assertions, so any problems we hope will be caught there. input program. loop #i = 1 to 1000. compute pos = rv.normal (56, 3) + rv.uniform (1, 1). compute neg = rv.normal (-86, 2) + rv.uniform (1, 1). compute pn = rv.normal (0, 2) + rv.uniform (1, 2). compute A = rv.uniform (-1, 1). compute A = (A > 0). end case. end loop. end file. end input program. examine pos neg pn by a /plot = histogram . frequencies pos neg pn /format=notable /histogram=normal. ]) dnl The --testing-mode flag is important!! AT_CHECK([pspp --testing-mode -O format=csv histogram.sps], [0], [ignore]) AT_CLEANUP