progress on ROWLABELS=LAYER
[pspp] / tests / language / stats / graph.at
index 6a8089c0a245a343e18514a94c18d3fd4b87c70d..750c192be9496a5eb0fa6b131d720dc29af64cf3 100644 (file)
@@ -1,16 +1,16 @@
 dnl PSPP - a program for statistical analysis.
 dnl Copyright (C) 2017 Free Software Foundation, Inc.
-dnl 
+dnl
 dnl This program is free software: you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
 dnl the Free Software Foundation, either version 3 of the License, or
 dnl (at your option) any later version.
-dnl 
+dnl
 dnl This program is distributed in the hope that it will be useful,
 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 dnl GNU General Public License for more details.
-dnl 
+dnl
 dnl You should have received a copy of the GNU General Public License
 dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 dnl
@@ -31,7 +31,7 @@ END INPUT PROGRAM.
 COMPUTE Size = Age * 3 + 50.
 
 GRAPH
-    /SCATTERPLOT(BIVARIATE) = Age WITH Size. 
+    /SCATTERPLOT(BIVARIATE) = Age WITH Size.
 
 ])
 
@@ -57,18 +57,18 @@ COMPUTE Size = Age * 3 + 50 + 50*CityNum.
 
 STRING City (a20).
 
-Recode CityNum 
+Recode CityNum
        (0 = "Madrid")
        (1 = "Paris")
        (ELSE = "Stockholm")
        into City.
 
  GRAPH
-    /SCATTERPLOT(BIVARIATE) = Age WITH Size 
+    /SCATTERPLOT(BIVARIATE) = Age WITH Size
 
  GRAPH
     /SCATTERPLOT(BIVARIATE) = Age WITH CityNum
+
  GRAPH
     /SCATTERPLOT = CityNum WITH Age
 
@@ -81,7 +81,7 @@ Recode CityNum
  GRAPH
     /SCATTERPLOT(BIVARIATE) = Age WITH Size BY CityNum
 
- ADD VALUE LABELS 
+ ADD VALUE LABELS
     /CityNum 1 'Rio' 2 'Tokyo' 0 'Mumbai'.
 
  GRAPH
@@ -92,7 +92,7 @@ Recode CityNum
 
 ])
 
-AT_CHECK([pspp -O format=pdf scatterlong.sps], [0], [ignore])
+AT_CHECK([pspp -O format=pdf scatterlong.sps], [0], [ignore], [ignore])
 AT_CLEANUP
 
 AT_SETUP([GRAPH missing values don't crash])
@@ -107,12 +107,12 @@ begin data.
 5 .
 6 1
 end data.
-graph 
+graph
       /scatterplot = x with y.
 graph
-      /histogram = x. 
+      /histogram = x.
 ])
-AT_CHECK([pspp -o pspp.pdf scatter.sps])
+AT_CHECK([pspp -o pspp.pdf scatter.sps], [], [ignore])
 dnl Ignore output -- this is just a no-crash check.
 AT_CLEANUP
 
@@ -128,14 +128,14 @@ begin data.
 5 .
 6 1
 end data.
-graph 
+graph
       /scatterplot = x with y
       /missing = VARIABLE.
 graph
       /histogram = x
       /missing = VARIABLE.
 ])
-AT_CHECK([pspp -o pspp.pdf scatter.sps])
+AT_CHECK([pspp -o pspp.pdf scatter.sps], [], [ignore])
 dnl Ignore output -- this is just a no-crash check.
 AT_CLEANUP
 
@@ -151,15 +151,15 @@ begin data.
 5 . 8
 6 1 8
 end data.
-graph 
+graph
       /scatterplot = x with y by z
       /missing = VARIABLE.
 
-graph 
+graph
       /scatterplot = x with y by z.
 
 ])
-AT_CHECK([pspp -o pspp.pdf scatter.sps])
+AT_CHECK([pspp -o pspp.pdf scatter.sps], [0], [ignore])
 dnl Ignore output -- this is just a no-crash check.
 AT_CLEANUP
 
@@ -168,11 +168,11 @@ AT_SETUP([GRAPH histogram with null data])
 AT_DATA([null-hist.sps], [dnl
 data list list /x *.
 begin data.
-1109 
-. 
+1109
+.
 end data.
 
-graph 
+graph
       /histogram = x.
 
 ])
@@ -186,10 +186,10 @@ AT_SETUP([GRAPH histogram all missing])
 AT_DATA([null-hist.sps], [dnl
 data list list /x *.
 begin data.
-. 
+.
 end data.
 
-graph 
+graph
       /histogram = x.
 
 ])
@@ -347,3 +347,91 @@ AT_CHECK([pspp -o pspp.pdf barchart.sps], [1], [ignore])
 dnl Ignore output -- this is just a no-crash check.
 
 AT_CLEANUP
+
+
+dnl Check that percentages are calculated with respect to the
+dnl proper total.  See bug #56247
+AT_SETUP([GRAPH barchart percentage sub-categorical])
+AT_DATA([barchart.sps], [dnl
+data list list notable /penalty_favopp_x * XYdem_racethW8 * w *.
+begin data.
+1 0 1960
+1 1 376
+2 0 678
+2 1 147
+4 0 368
+4 1 164
+5 0 427
+5 1 274
+. . 1522
+end data.
+
+weight by w.
+
+* crosstabs
+*   /tables=penalty_favopp_x by XYdem_racethW8
+*   /format=AVALUE TABLES PIVOT
+*   /statistics=CHISQ
+*   /cells COUNT COLUMN TOTAL.
+
+graph
+  /bar=pct by penalty_favopp_x
+  .
+
+graph
+  /bar=pct by penalty_favopp_x by XYdem_racethW8
+  .
+])
+
+AT_CHECK([pspp --testing barchart.sps], [0], [dnl
+Graphic: Barchart
+Percentage: 0
+Total Categories: 4
+Primary Categories: 4
+Largest Category: 53.1634
+Total Count: 100
+Y Label: "Percentage"
+Categorical Variables:
+  Var: "penalty_favopp_x"
+Categories:
+  0 "    1.00"
+  1 "    2.00"
+  2 "    4.00"
+  3 "    5.00"
+All Categories:
+Count: 53.1634; Cat: "    1.00"
+Count: 18.7756; Cat: "    2.00"
+Count: 12.1074; Cat: "    4.00"
+Count: 15.9536; Cat: "    5.00"
+
+Graphic: Barchart
+Percentage: 0
+Total Categories: 8
+Primary Categories: 4
+Largest Category: 57.0929
+Total Count: 200
+Y Label: "Percentage"
+Categorical Variables:
+  Var: "penalty_favopp_x"
+  Var: "XYdem_racethW8"
+Categories:
+  0 "    1.00"
+  1 "    2.00"
+  2 "    4.00"
+  3 "    5.00"
+Sub-categories:
+  0 "     .00"
+  1 "    1.00"
+All Categories:
+Count: 57.0929; Cat: "    1.00", "     .00"
+Count: 39.1259; Cat: "    1.00", "    1.00"
+Count: 19.7495; Cat: "    2.00", "     .00"
+Count: 15.2966; Cat: "    2.00", "    1.00"
+Count: 10.7195; Cat: "    4.00", "     .00"
+Count: 17.0656; Cat: "    4.00", "    1.00"
+Count: 12.4381; Cat: "    5.00", "     .00"
+Count: 28.512; Cat: "    5.00", "    1.00"
+
+])
+
+AT_CLEANUP