gruff 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,94 @@
1
+ #!/usr/bin/ruby
2
+
3
+ require File.dirname(__FILE__) + "/gruff_test_case"
4
+ require 'yaml'
5
+
6
+ class LayerStub < Gruff::Layer; attr_reader :base_dir, :filenames, :selected_filename; end
7
+
8
+ class TestGruffScene < GruffTestCase
9
+
10
+ def test_hazy
11
+ g = setup_scene
12
+ g.weather = "cloudy"
13
+ g.haze = true
14
+ g.time = Time.mktime(2006, 7, 4, 4, 35)
15
+ g.write "test/output/scene_hazy_night.png"
16
+ end
17
+
18
+ def test_stormy_night
19
+ g = setup_scene
20
+ g.weather = "stormy"
21
+ g.time = Time.mktime(2006, 7, 4, 0, 0)
22
+ g.write "test/output/scene_stormy_night.png"
23
+ end
24
+
25
+
26
+ def test_not_hazy
27
+ g = setup_scene
28
+ g.weather = "cloudy"
29
+ g.haze = false
30
+ g.time = Time.mktime(2006, 7, 4, 6, 00)
31
+ g.write "test/output/scene_not_hazy_day.png"
32
+ end
33
+
34
+ def test_partly_cloudy
35
+ g = setup_scene
36
+ g.weather = "partly cloudy"
37
+ g.haze = false
38
+ g.time = Time.mktime(2006, 7, 4, 13, 00)
39
+ g.write "test/output/scene_partly_cloudy_day.png"
40
+ end
41
+
42
+
43
+ def test_stormy_day
44
+ g = setup_scene
45
+ g.weather = "stormy"
46
+ g.haze = false
47
+ g.time = Time.mktime(2006, 7, 4, 8, 00)
48
+ g.write "test/output/scene_stormy_day.png"
49
+ end
50
+
51
+
52
+ def test_layer
53
+ l = LayerStub.new(File.expand_path("../assets/city_scene", File.dirname(__FILE__)), "clouds")
54
+ assert_equal %w(cloudy.png partly_cloudy.png stormy.png), l.filenames
55
+
56
+ l = LayerStub.new(File.expand_path("../assets/city_scene", File.dirname(__FILE__)), "grass")
57
+ assert_equal 'default.png', l.selected_filename
58
+
59
+ l = LayerStub.new(File.expand_path("../assets/city_scene", File.dirname(__FILE__)), "sky")
60
+ l.update Time.mktime(2006, 7, 4, 12, 35) # 12:35, July 4, 2006
61
+ assert_equal '1200.png', l.selected_filename
62
+
63
+ l = LayerStub.new(File.expand_path("../assets/city_scene", File.dirname(__FILE__)), "sky")
64
+ l.update Time.mktime(2006, 7, 4, 0, 0) # 00:00, July 4, 2006
65
+ assert_equal '0000.png', l.selected_filename
66
+
67
+ l = LayerStub.new(File.expand_path("../assets/city_scene", File.dirname(__FILE__)), "sky")
68
+ l.update Time.mktime(2006, 7, 4, 23, 35) # 23:35, July 4, 2006
69
+ assert_equal '2000.png', l.selected_filename
70
+
71
+ l = LayerStub.new(File.expand_path("../assets/city_scene", File.dirname(__FILE__)), "sky")
72
+ l.update Time.mktime(2006, 7, 4, 0, 1) # 00:01, July 4, 2006
73
+ assert_equal '0000.png', l.selected_filename
74
+
75
+ l = LayerStub.new(File.expand_path("../assets/city_scene", File.dirname(__FILE__)), "sky")
76
+ l.update Time.mktime(2006, 7, 4, 2, 0) # 02:00, July 4, 2006
77
+ assert_equal '0200.png', l.selected_filename
78
+
79
+ l = LayerStub.new(File.expand_path("../assets/city_scene", File.dirname(__FILE__)), "sky")
80
+ l.update Time.mktime(2006, 7, 4, 4, 00) # 04:00, July 4, 2006
81
+ assert_equal '0400.png', l.selected_filename
82
+ end
83
+
84
+ private
85
+
86
+ def setup_scene
87
+ g = Gruff::Scene.new("500x100", File.expand_path("../assets/city_scene", File.dirname(__FILE__)) )
88
+ g.layers = %w(background haze sky clouds)
89
+ g.weather_group = %w(clouds)
90
+ g.time_group = %w(background sky)
91
+ g
92
+ end
93
+
94
+ end
@@ -1,12 +1,8 @@
1
1
  #!/usr/bin/ruby
2
2
 
3
- $:.unshift(File.dirname(__FILE__) + "/../lib/")
4
- #$:.unshift File.dirname(__FILE__) + "/fixtures/helpers"
3
+ require File.dirname(__FILE__) + "/gruff_test_case"
5
4
 
6
- require 'test/unit'
7
- require 'gruff'
8
-
9
- class TestGruffSideSideStackedBar < Test::Unit::TestCase
5
+ class TestGruffSideStackedBar < GruffTestCase
10
6
 
11
7
  # TODO Delete old output files once when starting tests
12
8
 
@@ -0,0 +1,216 @@
1
+ #!/usr/bin/ruby
2
+
3
+ require File.dirname(__FILE__) + "/gruff_test_case"
4
+
5
+ class TestGruffSpider < GruffTestCase
6
+
7
+ def setup
8
+ @datasets = [
9
+ [:Strength, [10]],
10
+ [:Dexterity, [16]],
11
+ [:Constitution, [12]],
12
+ [:Intelligence, [12]],
13
+ [:Wisdom, [10]],
14
+ ["Charisma", [16]],
15
+ ]
16
+
17
+ # @datasets = [
18
+ # [:Darren, [25]],
19
+ # [:Chris, [80]],
20
+ # [:Egbert, [22]],
21
+ # [:Adam, [95]],
22
+ # [:Bill, [90]],
23
+ # ["Frank", [5]],
24
+ # ["Zero", [0]],
25
+ # ]
26
+ end
27
+
28
+ def test_spider_graph
29
+ g = Gruff::Spider.new(20)
30
+ g.title = "Spider Graph Test"
31
+ @datasets.each do |data|
32
+ g.data(data[0], data[1])
33
+ end
34
+
35
+ # Default theme
36
+ g.write("test/output/spider_keynote.png")
37
+ end
38
+
39
+ def test_pie_graph_small
40
+ g = Gruff::Spider.new(20, 400)
41
+ g.title = "Visual Spider Graph Test Small"
42
+ @datasets.each do |data|
43
+ g.data(data[0], data[1])
44
+ end
45
+
46
+ # Default theme
47
+ g.write("test/output/spider_small.png")
48
+ end
49
+
50
+ def test_spider_graph_nearly_equal
51
+ g = Gruff::Spider.new(50)
52
+ g.title = "Spider Graph Nearly Equal"
53
+
54
+ g.data(:Blake, [41])
55
+ g.data(:Aaron, [42])
56
+ g.data(:Grouch, [40])
57
+ # g.data(:Snuffleupagus, [43])
58
+
59
+ g.write("test/output/spider_nearly_equal.png")
60
+ end
61
+
62
+ def test_pie_graph_equal
63
+ g = Gruff::Spider.new(50)
64
+ g.title = "Spider Graph Equal"
65
+
66
+ g.data(:Bert, [41])
67
+ g.data(:Adam, [41])
68
+ g.data(:Joe, [41])
69
+
70
+ g.write("test/output/spider_equal.png")
71
+ end
72
+
73
+ def test_pie_graph_zero
74
+ g = Gruff::Spider.new(2)
75
+ g.title = "Pie Graph Two One Zero"
76
+
77
+ g.data(:Bert, [0])
78
+ g.data(:Adam, [1])
79
+ g.data(:Sam, [2])
80
+
81
+ g.write("test/output/spider_zero.png")
82
+ end
83
+
84
+ def test_wide
85
+ g = setup_basic_graph('800x400')
86
+ g.title = "Wide spider"
87
+ g.write("test/output/spider_wide.png")
88
+ end
89
+
90
+ def test_label_size
91
+ g = setup_basic_graph()
92
+ g.title = "Spider With Small Legend"
93
+ g.legend_font_size = 10
94
+ g.write("test/output/spider_legend.png")
95
+
96
+ g = setup_basic_graph(400)
97
+ g.title = "Small spider With Small Legend"
98
+ g.legend_font_size = 10
99
+ g.write("test/output/spider_legend_small.png")
100
+ end
101
+
102
+ def test_theme_37signals
103
+ g = Gruff::Spider.new(20)
104
+ g.title = "Spider Graph Test"
105
+ @datasets.each do |data|
106
+ g.data(data[0], data[1])
107
+ end
108
+
109
+ g.theme_37signals
110
+
111
+ # Default theme
112
+ g.write("test/output/spider_37signals.png")
113
+ end
114
+
115
+ def test_no_axes
116
+ g = Gruff::Spider.new(20)
117
+ g.title = "Look ma, no axes"
118
+ g.hide_axes = true
119
+ @datasets.each do |data|
120
+ g.data(data[0], data[1])
121
+ end
122
+ g.write("test/output/spider_no_axes.png")
123
+
124
+ end
125
+
126
+ def test_no_print
127
+ g = Gruff::Spider.new(20)
128
+ g.title = "Should not print"
129
+ g.hide_text = true
130
+ @datasets.each do |data|
131
+ g.data(data[0], data[1])
132
+ end
133
+ g.write("test/output/spider_no_print.png")
134
+ end
135
+
136
+ def test_transparency
137
+ g = Gruff::Spider.new(20)
138
+ g.title = "Transparent background"
139
+ g.hide_text = true
140
+ g.transparent_background = true
141
+ g.hide_axes = true
142
+ @datasets.each do |data|
143
+ g.data(data[0], data[1])
144
+ end
145
+ g.write("test/output/spider_no_background.png")
146
+ end
147
+
148
+ def test_overlay
149
+ g = Gruff::Spider.new(20)
150
+ g.title = "George (blue) vs Sarah (white)"
151
+ @datasets.each do |data|
152
+ g.data(data[0], data[1])
153
+ end
154
+ g.write("test/output/spider_overlay_1.png")
155
+
156
+ g = Gruff::Spider.new(20)
157
+ g.title = "Transparent background"
158
+ g.hide_text = true
159
+ g.hide_axes = true
160
+ g.transparent_background = true
161
+ @datasets = [
162
+ [:Strength, [18]],
163
+ [:Dexterity, [10]],
164
+ [:Constitution, [18]],
165
+ [:Intelligence, [8]],
166
+ [:Wisdom, [14]],
167
+ ["Charisma", [4]],
168
+ ]
169
+ @datasets.each do |data|
170
+ g.data(data[0], data[1])
171
+ end
172
+ g.marker_color = "#4F6EFF"
173
+ g.write("test/output/spider_overlay_2.png")
174
+ end
175
+
176
+ def test_lots_of_data
177
+ g = Gruff::Spider.new(10)
178
+ @datasets = [[:a, [1]], [:b, [5]], [:c, [3]], [:d, [9]], [:e, [4]],
179
+ [:f, [7]], [:g, [0]], [:h, [4]], [:i, [6]], [:j, [0]],
180
+ [:k, [4]], [:l, [8]]]
181
+
182
+ @datasets.each do |data|
183
+ g.data(data[0], data[1])
184
+ end
185
+
186
+ g.title = "Sample Data"
187
+ g.write("test/output/spider_lots_of_data.png")
188
+ end
189
+
190
+ def test_lots_of_data_with_large_names
191
+ g = Gruff::Spider.new(10)
192
+ @datasets = [[:anteaters, [1]], [:bulls, [5]], [:cats, [3]], [:dogs, [9]], [:elephants, [4]],
193
+ [:frogs, [7]], [:giraffes, [0]], [:hamsters, [4]], [:iguanas, [6]],
194
+ [:jaguar, [0]], [:kangaroo, [4]], [:locust, [8]]]
195
+
196
+ @datasets.each do |data|
197
+ g.data(data[0], data[1])
198
+ end
199
+
200
+ g.title = "Zoo Inventory"
201
+ g.write("test/output/spider_lots_of_data_normal_names.png")
202
+ end
203
+
204
+
205
+ protected
206
+
207
+ def setup_basic_graph(size=800, max = 20)
208
+ g = Gruff::Spider.new(max, size)
209
+ g.title = "My Graph Title"
210
+ @datasets.each do |data|
211
+ g.data(data[0], data[1])
212
+ end
213
+ return g
214
+ end
215
+
216
+ end
@@ -1,12 +1,8 @@
1
1
  #!/usr/bin/ruby
2
2
 
3
- $:.unshift(File.dirname(__FILE__) + "/../lib/")
4
- #$:.unshift File.dirname(__FILE__) + "/fixtures/helpers"
3
+ require File.dirname(__FILE__) + "/gruff_test_case"
5
4
 
6
- require 'test/unit'
7
- require 'gruff'
8
-
9
- class TestGruffStackedBar < Test::Unit::TestCase
5
+ class TestGruffStackedBar < GruffTestCase
10
6
 
11
7
  def setup
12
8
  @datasets = [
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.8.10
2
+ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: gruff
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.1.1
7
- date: 2006-02-14
6
+ version: 0.1.2
7
+ date: 2006-04-20 00:00:00 -07:00
8
8
  summary: Beautiful graphs for one or multiple datasets.
9
9
  require_paths:
10
- - lib
10
+ - lib
11
11
  email: boss@topfunky.com
12
12
  homepage: http://www.topfunky.com
13
13
  rubyforge_project: gruff
@@ -18,46 +18,63 @@ bindir: bin
18
18
  has_rdoc: true
19
19
  required_ruby_version: !ruby/object:Gem::Version::Requirement
20
20
  requirements:
21
- -
22
- - ">"
23
- - !ruby/object:Gem::Version
24
- version: 0.0.0
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
25
24
  version:
26
25
  platform: ruby
26
+ signing_key:
27
+ cert_chain:
27
28
  authors:
28
- - Geoffrey Grosenbach
29
+ - Geoffrey Grosenbach
29
30
  files:
30
- - Rakefile
31
- - README
32
- - CHANGELOG
33
- - MIT-LICENSE
34
- - lib/gruff
35
- - lib/gruff.rb
36
- - lib/gruff/area.rb
37
- - lib/gruff/bar.rb
38
- - lib/gruff/bar_conversion.rb
39
- - lib/gruff/base.rb
40
- - lib/gruff/line.rb
41
- - lib/gruff/photo_bar.rb
42
- - lib/gruff/pie.rb
43
- - lib/gruff/side_stacked_bar.rb
44
- - lib/gruff/stacked_bar.rb
45
- - assets/bubble.png
46
- - assets/pc306715.jpg
47
- - assets/plastik
48
- - test/area_test.rb
49
- - test/bar_test.rb
50
- - test/line_test.rb
51
- - test/output
52
- - test/photo_test.rb
53
- - test/pie_test.rb
54
- - test/sidestacked_bar_test.rb
55
- - test/stacked_bar_test.rb
31
+ - Rakefile
32
+ - README
33
+ - CHANGELOG
34
+ - MIT-LICENSE
35
+ - lib/gruff
36
+ - lib/gruff.rb
37
+ - lib/gruff/area.rb
38
+ - lib/gruff/bar.rb
39
+ - lib/gruff/bar_conversion.rb
40
+ - lib/gruff/base.rb
41
+ - lib/gruff/line.rb
42
+ - lib/gruff/net.rb
43
+ - lib/gruff/photo_bar.rb
44
+ - lib/gruff/pie.rb
45
+ - lib/gruff/scene.rb
46
+ - lib/gruff/side_stacked_bar.rb
47
+ - lib/gruff/spider.rb
48
+ - lib/gruff/stacked_bar.rb
49
+ - assets/bubble.png
50
+ - assets/city_scene
51
+ - assets/pc306715.jpg
52
+ - assets/plastik
53
+ - test/area_test.rb
54
+ - test/bar_test.rb
55
+ - test/base_test.rb
56
+ - test/gruff_test_case.rb
57
+ - test/legend_test.rb
58
+ - test/line_test.rb
59
+ - test/net_test.rb
60
+ - test/output
61
+ - test/photo_test.rb
62
+ - test/pie_test.rb
63
+ - test/scene_test.rb
64
+ - test/sidestacked_bar_test.rb
65
+ - test/spider_test.rb
66
+ - test/stacked_bar_test.rb
56
67
  test_files: []
68
+
57
69
  rdoc_options: []
70
+
58
71
  extra_rdoc_files: []
72
+
59
73
  executables: []
74
+
60
75
  extensions: []
76
+
61
77
  requirements:
62
- - none
63
- dependencies: []
78
+ - none
79
+ dependencies: []
80
+