gruff 0.7.0-java → 0.8.0-java
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.
- checksums.yaml +5 -5
- data/.editorconfig +14 -0
- data/.rubocop.yml +16 -0
- data/.rubocop_todo.yml +923 -0
- data/.travis.yml +21 -14
- data/{History.txt → CHANGELOG.md} +32 -25
- data/README.md +3 -2
- data/Rakefile +27 -18
- data/assets/bubble.png +0 -0
- data/assets/city_scene/background/0000.png +0 -0
- data/assets/city_scene/background/0600.png +0 -0
- data/assets/city_scene/background/2000.png +0 -0
- data/assets/city_scene/clouds/cloudy.png +0 -0
- data/assets/city_scene/clouds/partly_cloudy.png +0 -0
- data/assets/city_scene/clouds/stormy.png +0 -0
- data/assets/city_scene/grass/default.png +0 -0
- data/assets/city_scene/haze/true.png +0 -0
- data/assets/city_scene/number_sample/1.png +0 -0
- data/assets/city_scene/number_sample/2.png +0 -0
- data/assets/city_scene/number_sample/default.png +0 -0
- data/assets/city_scene/sky/0000.png +0 -0
- data/assets/city_scene/sky/0200.png +0 -0
- data/assets/city_scene/sky/0400.png +0 -0
- data/assets/city_scene/sky/0600.png +0 -0
- data/assets/city_scene/sky/0800.png +0 -0
- data/assets/city_scene/sky/1000.png +0 -0
- data/assets/city_scene/sky/1200.png +0 -0
- data/assets/city_scene/sky/1400.png +0 -0
- data/assets/city_scene/sky/1500.png +0 -0
- data/assets/city_scene/sky/1700.png +0 -0
- data/assets/city_scene/sky/2000.png +0 -0
- data/assets/pc306715.jpg +0 -0
- data/assets/plastik/blue.png +0 -0
- data/assets/plastik/green.png +0 -0
- data/assets/plastik/red.png +0 -0
- data/gruff.gemspec +12 -10
- data/lib/gruff.rb +2 -2
- data/lib/gruff/accumulator_bar.rb +2 -2
- data/lib/gruff/area.rb +1 -4
- data/lib/gruff/bar.rb +12 -13
- data/lib/gruff/bar_conversion.rb +11 -11
- data/lib/gruff/base.rb +36 -36
- data/lib/gruff/bezier.rb +1 -2
- data/lib/gruff/bullet.rb +7 -10
- data/lib/gruff/deprecated.rb +10 -11
- data/lib/gruff/dot.rb +3 -4
- data/lib/gruff/line.rb +13 -14
- data/lib/gruff/mini/bar.rb +3 -3
- data/lib/gruff/mini/legend.rb +7 -8
- data/lib/gruff/mini/pie.rb +6 -6
- data/lib/gruff/mini/side_bar.rb +7 -7
- data/lib/gruff/net.rb +2 -8
- data/lib/gruff/photo_bar.rb +9 -12
- data/lib/gruff/pie.rb +6 -6
- data/lib/gruff/scatter.rb +47 -51
- data/lib/gruff/scene.rb +17 -19
- data/lib/gruff/side_bar.rb +5 -8
- data/lib/gruff/side_stacked_bar.rb +24 -26
- data/lib/gruff/spider.rb +14 -15
- data/lib/gruff/stacked_area.rb +12 -16
- data/lib/gruff/stacked_bar.rb +50 -52
- data/lib/gruff/stacked_mixin.rb +2 -3
- data/lib/gruff/themes.rb +32 -33
- data/lib/gruff/version.rb +1 -1
- metadata +15 -72
- data/RELEASE.md +0 -30
- data/test/gruff_test_case.rb +0 -152
- data/test/image_compare.rb +0 -58
- data/test/test_accumulator_bar.rb +0 -51
- data/test/test_area.rb +0 -134
- data/test/test_bar.rb +0 -505
- data/test/test_base.rb +0 -33
- data/test/test_bezier.rb +0 -33
- data/test/test_bullet.rb +0 -26
- data/test/test_dot.rb +0 -263
- data/test/test_labels_for_null_data.rb +0 -27
- data/test/test_legend.rb +0 -68
- data/test/test_line.rb +0 -674
- data/test/test_mini_bar.rb +0 -33
- data/test/test_mini_pie.rb +0 -25
- data/test/test_mini_side_bar.rb +0 -36
- data/test/test_net.rb +0 -231
- data/test/test_photo.rb +0 -41
- data/test/test_pie.rb +0 -194
- data/test/test_scatter.rb +0 -270
- data/test/test_scene.rb +0 -100
- data/test/test_side_bar.rb +0 -56
- data/test/test_sidestacked_bar.rb +0 -105
- data/test/test_spider.rb +0 -226
- data/test/test_stacked_area.rb +0 -52
- data/test/test_stacked_bar.rb +0 -68
data/lib/gruff/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gruff
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Geoffrey Grosenbach
|
@@ -9,28 +9,22 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2020-04-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0.3'
|
20
17
|
- - ">="
|
21
18
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0
|
19
|
+
version: '0'
|
23
20
|
name: rmagick4j
|
24
|
-
prerelease: false
|
25
21
|
type: :runtime
|
22
|
+
prerelease: false
|
26
23
|
version_requirements: !ruby/object:Gem::Requirement
|
27
24
|
requirements:
|
28
|
-
- - "~>"
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
version: '0.3'
|
31
25
|
- - ">="
|
32
26
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0
|
27
|
+
version: '0'
|
34
28
|
- !ruby/object:Gem::Dependency
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
36
30
|
requirements:
|
@@ -38,8 +32,8 @@ dependencies:
|
|
38
32
|
- !ruby/object:Gem::Version
|
39
33
|
version: '0'
|
40
34
|
name: rake
|
41
|
-
prerelease: false
|
42
35
|
type: :development
|
36
|
+
prerelease: false
|
43
37
|
version_requirements: !ruby/object:Gem::Requirement
|
44
38
|
requirements:
|
45
39
|
- - ">="
|
@@ -52,27 +46,30 @@ dependencies:
|
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
name: minitest-reporters
|
55
|
-
prerelease: false
|
56
49
|
type: :development
|
50
|
+
prerelease: false
|
57
51
|
version_requirements: !ruby/object:Gem::Requirement
|
58
52
|
requirements:
|
59
53
|
- - ">="
|
60
54
|
- !ruby/object:Gem::Version
|
61
55
|
version: '0'
|
62
|
-
description: Beautiful graphs for one or multiple datasets. Can be used on websites
|
56
|
+
description: Beautiful graphs for one or multiple datasets. Can be used on websites
|
57
|
+
or in documents.
|
63
58
|
email: boss@topfunky.com
|
64
59
|
executables: []
|
65
60
|
extensions: []
|
66
61
|
extra_rdoc_files: []
|
67
62
|
files:
|
63
|
+
- ".editorconfig"
|
68
64
|
- ".gitignore"
|
65
|
+
- ".rubocop.yml"
|
66
|
+
- ".rubocop_todo.yml"
|
69
67
|
- ".travis.yml"
|
68
|
+
- CHANGELOG.md
|
70
69
|
- Gemfile
|
71
|
-
- History.txt
|
72
70
|
- MIT-LICENSE
|
73
71
|
- Manifest.txt
|
74
72
|
- README.md
|
75
|
-
- RELEASE.md
|
76
73
|
- Rakefile
|
77
74
|
- assets/bubble.png
|
78
75
|
- assets/city_scene/background/0000.png
|
@@ -134,31 +131,6 @@ files:
|
|
134
131
|
- rails_generators/gruff/gruff_generator.rb
|
135
132
|
- rails_generators/gruff/templates/controller.rb
|
136
133
|
- rails_generators/gruff/templates/functional_test.rb
|
137
|
-
- test/gruff_test_case.rb
|
138
|
-
- test/image_compare.rb
|
139
|
-
- test/test_accumulator_bar.rb
|
140
|
-
- test/test_area.rb
|
141
|
-
- test/test_bar.rb
|
142
|
-
- test/test_base.rb
|
143
|
-
- test/test_bezier.rb
|
144
|
-
- test/test_bullet.rb
|
145
|
-
- test/test_dot.rb
|
146
|
-
- test/test_labels_for_null_data.rb
|
147
|
-
- test/test_legend.rb
|
148
|
-
- test/test_line.rb
|
149
|
-
- test/test_mini_bar.rb
|
150
|
-
- test/test_mini_pie.rb
|
151
|
-
- test/test_mini_side_bar.rb
|
152
|
-
- test/test_net.rb
|
153
|
-
- test/test_photo.rb
|
154
|
-
- test/test_pie.rb
|
155
|
-
- test/test_scatter.rb
|
156
|
-
- test/test_scene.rb
|
157
|
-
- test/test_side_bar.rb
|
158
|
-
- test/test_sidestacked_bar.rb
|
159
|
-
- test/test_spider.rb
|
160
|
-
- test/test_stacked_area.rb
|
161
|
-
- test/test_stacked_bar.rb
|
162
134
|
homepage: https://github.com/topfunky/gruff
|
163
135
|
licenses:
|
164
136
|
- MIT
|
@@ -172,43 +144,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
172
144
|
- - ">="
|
173
145
|
- !ruby/object:Gem::Version
|
174
146
|
version: 1.9.3
|
175
|
-
- - "<"
|
176
|
-
- !ruby/object:Gem::Version
|
177
|
-
version: '3'
|
178
147
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
179
148
|
requirements:
|
180
149
|
- - ">="
|
181
150
|
- !ruby/object:Gem::Version
|
182
151
|
version: '0'
|
183
152
|
requirements: []
|
184
|
-
|
185
|
-
rubygems_version: 2.6.4
|
153
|
+
rubygems_version: 3.0.6
|
186
154
|
signing_key:
|
187
155
|
specification_version: 4
|
188
156
|
summary: Beautiful graphs for one or multiple datasets.
|
189
|
-
test_files:
|
190
|
-
- test/gruff_test_case.rb
|
191
|
-
- test/image_compare.rb
|
192
|
-
- test/test_accumulator_bar.rb
|
193
|
-
- test/test_area.rb
|
194
|
-
- test/test_bar.rb
|
195
|
-
- test/test_base.rb
|
196
|
-
- test/test_bezier.rb
|
197
|
-
- test/test_bullet.rb
|
198
|
-
- test/test_dot.rb
|
199
|
-
- test/test_labels_for_null_data.rb
|
200
|
-
- test/test_legend.rb
|
201
|
-
- test/test_line.rb
|
202
|
-
- test/test_mini_bar.rb
|
203
|
-
- test/test_mini_pie.rb
|
204
|
-
- test/test_mini_side_bar.rb
|
205
|
-
- test/test_net.rb
|
206
|
-
- test/test_photo.rb
|
207
|
-
- test/test_pie.rb
|
208
|
-
- test/test_scatter.rb
|
209
|
-
- test/test_scene.rb
|
210
|
-
- test/test_side_bar.rb
|
211
|
-
- test/test_sidestacked_bar.rb
|
212
|
-
- test/test_spider.rb
|
213
|
-
- test/test_stacked_area.rb
|
214
|
-
- test/test_stacked_bar.rb
|
157
|
+
test_files: []
|
data/RELEASE.md
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
Subject: [ANN] Gruff 0.5.1 released!
|
2
|
-
|
3
|
-
The Gruff team is pleased to announce the release of Gruff 0.5.1.
|
4
|
-
|
5
|
-
New in version 0.5.1:
|
6
|
-
|
7
|
-
Skip packaging the test images. This reduces the gem from 20MB+ to
|
8
|
-
300KB+.
|
9
|
-
|
10
|
-
Bugfixes:
|
11
|
-
|
12
|
-
* Issue #92 Reduce the gem size by not shipping the test images.
|
13
|
-
|
14
|
-
You can find a complete list of issues here:
|
15
|
-
|
16
|
-
* https://github.com/topfunky/gruff/issues?state=closed&milestone=7
|
17
|
-
|
18
|
-
|
19
|
-
Installation:
|
20
|
-
|
21
|
-
gem install gruff
|
22
|
-
|
23
|
-
You can find an introductory tutorial at
|
24
|
-
https://github.com/topfunky/gruff
|
25
|
-
|
26
|
-
Enjoy!
|
27
|
-
|
28
|
-
|
29
|
-
--
|
30
|
-
The Gruff Team
|
data/test/gruff_test_case.rb
DELETED
@@ -1,152 +0,0 @@
|
|
1
|
-
$:.unshift(File.dirname(__FILE__) + '/../lib/')
|
2
|
-
|
3
|
-
RMAGICK_BYPASS_VERSION_TEST = true
|
4
|
-
|
5
|
-
require 'gruff'
|
6
|
-
require 'fileutils'
|
7
|
-
|
8
|
-
TEST_OUTPUT_DIR = File.dirname(__FILE__) + "/output#{'_java' if RUBY_PLATFORM == 'java'}"
|
9
|
-
FileUtils.mkdir_p(TEST_OUTPUT_DIR)
|
10
|
-
FileUtils.rm_f Dir[TEST_OUTPUT_DIR + '/*']
|
11
|
-
|
12
|
-
require 'minitest/autorun'
|
13
|
-
require 'minitest/reporters'
|
14
|
-
Minitest::Reporters.use!
|
15
|
-
|
16
|
-
class Gruff::Base
|
17
|
-
alias :write_org :write
|
18
|
-
|
19
|
-
def write(filename='graph.png')
|
20
|
-
basefilename = File.basename(filename).split('.')[0..-2].join('.')
|
21
|
-
extension = filename.slice(/\.[^\.]*$/)
|
22
|
-
testfilename = File.join(TEST_OUTPUT_DIR, basefilename) + extension
|
23
|
-
counter = 0
|
24
|
-
while File.exist?(testfilename)
|
25
|
-
counter += 1
|
26
|
-
testfilename = File.join(TEST_OUTPUT_DIR, basefilename) + "-#{counter}#{extension}"
|
27
|
-
end
|
28
|
-
write_org(testfilename)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
class GruffTestCase < Minitest::Test
|
33
|
-
def setup
|
34
|
-
srand 42
|
35
|
-
@datasets = [
|
36
|
-
[:Jimmy, [25, 36, 86, 39, 25, 31, 79, 88]],
|
37
|
-
[:Charles, [80, 54, 67, 54, 68, 70, 90, 95]],
|
38
|
-
[:Julie, [22, 29, 35, 38, 36, 40, 46, 57]],
|
39
|
-
[:Jane, [95, 95, 95, 90, 85, 80, 88, 100]],
|
40
|
-
[:Philip, [90, 34, 23, 12, 78, 89, 98, 88]],
|
41
|
-
[:Arthur, [5, 10, 13, 11, 6, 16, 22, 32]],
|
42
|
-
]
|
43
|
-
|
44
|
-
@labels = {
|
45
|
-
0 => '5/6',
|
46
|
-
1 => '5/15',
|
47
|
-
2 => '5/24',
|
48
|
-
3 => '5/30',
|
49
|
-
4 => '6/4',
|
50
|
-
5 => '6/12',
|
51
|
-
6 => '6/21',
|
52
|
-
7 => '6/28',
|
53
|
-
}
|
54
|
-
end
|
55
|
-
|
56
|
-
def setup_single_dataset
|
57
|
-
@datasets = [
|
58
|
-
[:Jimmy, [25, 36, 86]]
|
59
|
-
]
|
60
|
-
|
61
|
-
@labels = {
|
62
|
-
0 => 'You',
|
63
|
-
1 => 'Average',
|
64
|
-
2 => 'Lifetime'
|
65
|
-
}
|
66
|
-
end
|
67
|
-
|
68
|
-
def setup_wide_dataset
|
69
|
-
@datasets = [
|
70
|
-
['Auto', 25],
|
71
|
-
['Food', 5],
|
72
|
-
['Entertainment', 15]
|
73
|
-
]
|
74
|
-
|
75
|
-
@labels = {0 => 'This Month'}
|
76
|
-
end
|
77
|
-
|
78
|
-
def test_dummy
|
79
|
-
assert true
|
80
|
-
end
|
81
|
-
|
82
|
-
protected
|
83
|
-
|
84
|
-
# Generate graphs at several sizes.
|
85
|
-
#
|
86
|
-
# Also writes the graph to disk.
|
87
|
-
#
|
88
|
-
# graph_sized 'bar_basic' do |g|
|
89
|
-
# g.data('students', [1, 2, 3, 4])
|
90
|
-
# end
|
91
|
-
#
|
92
|
-
def graph_sized(filename, sizes=['', 400])
|
93
|
-
class_name = self.class.name.gsub(/^TestGruff/, '')
|
94
|
-
Array(sizes).each do |size|
|
95
|
-
g = instance_eval("Gruff::#{class_name}.new #{size}")
|
96
|
-
g.title = "#{class_name} Graph"
|
97
|
-
yield g
|
98
|
-
write_test_file g, "#{filename}_#{size}.png"
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
def write_test_file(graph, filename)
|
103
|
-
testfilename = [TEST_OUTPUT_DIR, filename].join('/')
|
104
|
-
basefilename = filename.split('.')[0..-2].join('.')
|
105
|
-
extension = filename.slice(/\..*$/)
|
106
|
-
counter = 0
|
107
|
-
while File.exist? testfilename
|
108
|
-
counter += 1
|
109
|
-
testfilename = [TEST_OUTPUT_DIR, basefilename].join('/') + "-#{counter}#{extension}"
|
110
|
-
end
|
111
|
-
graph.write(testfilename)
|
112
|
-
end
|
113
|
-
|
114
|
-
##
|
115
|
-
# Example:
|
116
|
-
#
|
117
|
-
# setup_basic_graph Gruff::Pie, 400
|
118
|
-
#
|
119
|
-
def setup_basic_graph(*args)
|
120
|
-
klass, size = Gruff::Bar, 400
|
121
|
-
# Allow args to be klass, size or just klass or just size.
|
122
|
-
#
|
123
|
-
# TODO Refactor
|
124
|
-
case args.length
|
125
|
-
when 1
|
126
|
-
case args[0]
|
127
|
-
when Fixnum
|
128
|
-
size = args[0]
|
129
|
-
klass = eval("Gruff::#{self.class.name.gsub(/^TestGruff/, '')}")
|
130
|
-
when String
|
131
|
-
size = args[0]
|
132
|
-
klass = eval("Gruff::#{self.class.name.gsub(/^TestGruff/, '')}")
|
133
|
-
else
|
134
|
-
klass = args[0]
|
135
|
-
end
|
136
|
-
when 2
|
137
|
-
klass, size = args[0], args[1]
|
138
|
-
end
|
139
|
-
|
140
|
-
g = klass.new(size)
|
141
|
-
g.title = 'My Bar Graph'
|
142
|
-
g.labels = @labels
|
143
|
-
g.font = '/Library/Fonts/Verdana.ttf'
|
144
|
-
|
145
|
-
|
146
|
-
@datasets.each do |data|
|
147
|
-
g.data(data[0], data[1])
|
148
|
-
end
|
149
|
-
g
|
150
|
-
end
|
151
|
-
|
152
|
-
end
|
data/test/image_compare.rb
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
#!ruby
|
2
|
-
|
3
|
-
require 'chunky_png'
|
4
|
-
|
5
|
-
class ImageCompare
|
6
|
-
include ChunkyPNG::Color
|
7
|
-
|
8
|
-
def self.compare(file_name, old_file_name)
|
9
|
-
name = file_name.chomp('.png')
|
10
|
-
org_file_name = "#{name}_0.png~"
|
11
|
-
new_file_name = "#{name}_1.png~"
|
12
|
-
|
13
|
-
return nil unless File.exists? old_file_name
|
14
|
-
images = [
|
15
|
-
ChunkyPNG::Image.from_file(old_file_name),
|
16
|
-
ChunkyPNG::Image.from_file(file_name),
|
17
|
-
]
|
18
|
-
|
19
|
-
sizes = images.map(&:width).uniq + images.map(&:height).uniq
|
20
|
-
if sizes.size != 2
|
21
|
-
logger.warn "Image size has changed for #{name}: #{sizes}"
|
22
|
-
return nil
|
23
|
-
end
|
24
|
-
|
25
|
-
diff = []
|
26
|
-
images.first.height.times do |y|
|
27
|
-
images.first.row(y).each_with_index do |pixel, x|
|
28
|
-
unless pixel == images.last[x, y]
|
29
|
-
diff << [x, y]
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
if diff.empty?
|
35
|
-
File.delete(org_file_name) if File.exists? org_file_name
|
36
|
-
File.delete(new_file_name) if File.exists? new_file_name
|
37
|
-
return false
|
38
|
-
end
|
39
|
-
|
40
|
-
x, y = diff.map { |xy| xy[0] }, diff.map { |xy| xy[1] }
|
41
|
-
(1..2).each do |i|
|
42
|
-
images.each do |image|
|
43
|
-
image.rect(x.min - i, y.min - i, x.max + i, y.max + i, ChunkyPNG::Color.rgb(255, 0, 0))
|
44
|
-
end
|
45
|
-
end
|
46
|
-
images.first.save(org_file_name)
|
47
|
-
images.last.save(new_file_name)
|
48
|
-
true
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
if $0 == __FILE__
|
53
|
-
unless ARGV.size == 2
|
54
|
-
puts "Usage: #$0 <image1> <image2>"
|
55
|
-
exit 1
|
56
|
-
end
|
57
|
-
ImageCompare.compare(ARGV[0], ARGV[1])
|
58
|
-
end
|
@@ -1,51 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/gruff_test_case'
|
2
|
-
|
3
|
-
class TestGruffAccumulatorBar < GruffTestCase
|
4
|
-
|
5
|
-
# TODO Delete old output files once when starting tests
|
6
|
-
|
7
|
-
def setup
|
8
|
-
super
|
9
|
-
@datasets = [
|
10
|
-
(1..20).to_a.map { rand(10) }
|
11
|
-
]
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_accumulator
|
15
|
-
g = Gruff::AccumulatorBar.new 500
|
16
|
-
g.title = 'Your Savings'
|
17
|
-
g.hide_legend = true
|
18
|
-
|
19
|
-
# g.font = File.expand_path(File.dirname(__FILE__) + "/../assets/fonts/ATMA____.TTF")
|
20
|
-
|
21
|
-
g.marker_font_size = 18
|
22
|
-
|
23
|
-
g.theme = {
|
24
|
-
:colors => ['#aedaa9', '#12a702'],
|
25
|
-
:marker_color => '#dddddd',
|
26
|
-
:font_color => 'black',
|
27
|
-
:background_colors => 'white'
|
28
|
-
# :background_image => File.expand_path(File.dirname(__FILE__) + "/../assets/backgrounds/43things.png")
|
29
|
-
}
|
30
|
-
|
31
|
-
# Attempt at negative numbers
|
32
|
-
# g.data 'Savings', (1..20).to_a.map { rand(10) * (rand(2) > 0 ? 1 : -1) }
|
33
|
-
g.data 'Savings', (1..12).to_a.map { rand(100) }
|
34
|
-
g.labels = (0..11).to_a.inject({}) {|memo, index| {index => '12-26'}.merge(memo)}
|
35
|
-
|
36
|
-
g.maximum_value = 1000
|
37
|
-
g.minimum_value = 0
|
38
|
-
|
39
|
-
g.write('test/output/accum_bar.png')
|
40
|
-
end
|
41
|
-
|
42
|
-
def test_too_many_args
|
43
|
-
assert_raises(Gruff::IncorrectNumberOfDatasetsException) {
|
44
|
-
g = Gruff::AccumulatorBar.new
|
45
|
-
g.data 'First', [1,1,1]
|
46
|
-
g.data 'Too Many', [1,1,1]
|
47
|
-
g.write('test/output/_SHOULD_NOT_ACTUALLY_BE_WRITTEN.png')
|
48
|
-
}
|
49
|
-
end
|
50
|
-
|
51
|
-
end
|