]> projects.mako.cc - selectricity/blob - lib/gruff-0.2.8/test/test_pie.rb
Ordered pref tables so that the smallest margin of vicotry appears first and the...
[selectricity] / lib / gruff-0.2.8 / test / test_pie.rb
1 #!/usr/bin/ruby
2
3 require File.dirname(__FILE__) + "/gruff_test_case"
4
5 class TestGruffPie < GruffTestCase
6
7   def setup
8     @datasets = [
9       [:Darren, [25]],
10       [:Chris, [80]],
11       [:Egbert, [22]],
12       [:Adam, [95]],
13       [:Bill, [90]],
14       ["Frank", [5]],
15       ["Zero", [0]],
16       ]
17   end
18   
19   def test_pie_graph
20     g = Gruff::Pie.new
21     g.title = "Visual Pie Graph Test"
22     @datasets.each do |data|
23       g.data(data[0], data[1])
24     end
25
26     # Default theme
27     g.write("test/output/pie_keynote.png")
28   end
29
30   def test_pie_graph_small
31     g = Gruff::Pie.new(400)
32     g.title = "Visual Pie Graph Test Small"
33     @datasets.each do |data|
34       g.data(data[0], data[1])
35     end
36
37     # Default theme
38     g.write("test/output/pie_keynote_small.png")
39   end
40
41   def test_pie_graph_nearly_equal
42     g = Gruff::Pie.new
43     g.title = "Pie Graph Nearly Equal"
44     
45     g.data(:Blake, [41])
46     g.data(:Aaron, [42])
47 #    g.data(:Grouch, [40])
48 #    g.data(:Snuffleupagus, [43])
49
50     g.write("test/output/pie_nearly_equal.png")
51   end
52
53   def test_pie_graph_equal
54     g = Gruff::Pie.new
55     g.title = "Pie Graph Equal"
56         
57     g.data(:Bert, [41])
58     g.data(:Adam, [41])
59
60     g.write("test/output/pie_equal.png")
61   end
62
63   def test_pie_graph_zero
64     g = Gruff::Pie.new
65     g.title = "Pie Graph One Zero"
66         
67     g.data(:Bert, [0])
68     g.data(:Adam, [1])
69
70     g.write("test/output/pie_zero.png")
71   end
72
73
74   def test_pie_graph_one_val
75     g = Gruff::Pie.new
76     g.title = "Pie Graph One Val"
77         
78     g.data(:Bert, 53)
79     g.data(:Adam, 29)
80
81     g.write("test/output/pie_one_val.png")
82   end
83
84
85   def test_wide
86     g = setup_basic_graph('800x400')
87     g.title = "Wide Pie"
88     g.write("test/output/pie_wide.png")
89   end
90
91   def test_label_size
92     g = setup_basic_graph()
93     g.title = "Pie With Small Legend"
94     g.legend_font_size = 10
95     g.write("test/output/pie_legend.png")
96     
97     g = setup_basic_graph(400)
98     g.title = "Small Pie With Small Legend"
99     g.legend_font_size = 10
100     g.write("test/output/pie_legend_small.png")
101   end
102
103   
104   def test_tiny_simple_pie
105     @datasets = (1..5).map {|n| ['Auto', [rand(100)]]}
106
107     g = setup_basic_graph 200
108     g.hide_legend = true
109     g.hide_title = true
110     g.hide_line_numbers = true
111   
112     g.marker_font_size = 40.0
113     g.minimum_value = 0.0
114     
115     write_test_file g, "pie_simple.png"
116   end
117   
118 protected
119
120   def setup_basic_graph(size=800)
121     g = Gruff::Pie.new(size)
122     g.title = "My Graph Title"
123     @datasets.each do |data|
124       g.data(data[0], data[1])
125     end
126     return g
127   end
128   
129 end

Benjamin Mako Hill || Want to submit a patch?