gravitheque 0.3.0 → 0.4.0

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.
@@ -4,32 +4,55 @@ require "calculators/alcohol"
4
4
  describe Calculate do
5
5
 
6
6
  it "must calculate alcohol by weight from original and terminal Plato" do
7
- (Calculate.alcohol_by_weight 13, 2.5).must_equal 4.5
7
+ Calculate.alcohol_by_weight({ original: 13, terminal: 2.5 }).must_equal 4.5
8
8
  end
9
9
 
10
10
  it "must calculate alcohol by weight from original and terminal gravities" do
11
- (Calculate.alcohol_by_weight 1.055, 1.011, :specific_gravity).must_equal 4.6
11
+ Calculate.alcohol_by_weight({
12
+ original: 1.055,
13
+ terminal: 1.011
14
+ }, :specific_gravity).must_equal 4.6
12
15
  end
13
16
 
14
17
  it "must calculate alcohol by weight from original and terminal Brix" do
15
- (Calculate.alcohol_by_weight 15.5, 7.2, :brix).must_equal 5.9
18
+ Calculate.alcohol_by_weight({
19
+ original: 15.5,
20
+ terminal: 7.2
21
+ }, :brix).must_equal 5.9
16
22
  end
17
23
 
18
24
  it "must calculate alcohol by volume from original and terminal Plato" do
19
- (Calculate.alcohol_by_volume 13, 2.5).must_equal 5.7
25
+ Calculate.alcohol_by_volume({ original: 13, terminal: 2.5 }).must_equal 5.7
20
26
  end
21
27
 
22
28
  it "must calculate alcohol by volume from original and terminal gravities" do
23
- (Calculate.alcohol_by_volume 1.055, 1.011, :specific_gravity).must_equal 5.8
29
+ Calculate.alcohol_by_volume({
30
+ original: 1.055,
31
+ terminal: 1.011
32
+ }, :specific_gravity).must_equal 5.8
24
33
  end
25
34
 
26
35
  it "must calculate alcohol by volume from original and terminal Brix" do
27
- (Calculate.alcohol_by_volume 15.5, 7.2, :brix).must_equal 7.4
36
+ Calculate.alcohol_by_volume({
37
+ original: 15.5,
38
+ terminal: 7.2
39
+ }, :brix).must_equal 7.4
28
40
  end
29
41
 
30
42
  it "must raise an exception when the extract unit is unrecognized" do
31
- lambda { Calculate.alcohol_by_volume 392, 739, :wtf? }.must_raise ArgumentError
32
- lambda { Calculate.alcohol_by_weight 392, 739, :wtf? }.must_raise ArgumentError
43
+ lambda {
44
+ Calculate.alcohol_by_volume({
45
+ original: 392,
46
+ terminal: 739
47
+ }, :wtf)
48
+ }.must_raise ArgumentError
49
+
50
+ lambda {
51
+ Calculate.alcohol_by_weight({
52
+ original: 392,
53
+ terminal: 739
54
+ }, :wtf)
55
+ }.must_raise ArgumentError
33
56
  end
34
57
 
35
58
  end
@@ -4,45 +4,86 @@ require "calculators/calories"
4
4
  describe Calculate do
5
5
 
6
6
  it "must calculate calories from alcohol using original and terminal Plato" do
7
- (Calculate.calories_from_alcohol 13, 2.5).must_equal 151
7
+ Calculate.calories_from_alcohol({ original: 13, terminal: 2.5 }).must_equal 151
8
8
  end
9
9
 
10
10
  it "must calculate calories from alcohol using original and terminal gravities" do
11
- (Calculate.calories_from_alcohol 1.05, 1.01, :specific_gravity).must_equal 139
11
+ Calculate.calories_from_alcohol({
12
+ original: 1.05,
13
+ terminal: 1.01
14
+ }, :specific_gravity).must_equal 139
12
15
  end
13
16
 
14
17
  it "must calculate calories from alcohol using original and terminal Brix" do
15
- (Calculate.calories_from_alcohol 15.5, 7.2, :brix).must_equal 81
18
+ Calculate.calories_from_alcohol({
19
+ original: 15.5,
20
+ terminal: 7.2
21
+ }, :brix).must_equal 202
16
22
  end
17
23
 
18
24
  it "must calculate calories from extract using original and terminal Plato" do
19
- (Calculate.calories_from_extract 13, 2.5).must_equal 83
25
+ Calculate.calories_from_extract({
26
+ original: 13,
27
+ terminal: 2.5
28
+ }).must_equal 83
20
29
  end
21
30
 
22
31
  it "must calculate calories from extract using original and terminal gravities" do
23
- (Calculate.calories_from_extract 1.05, 1.01, :specific_gravity).must_equal 80
32
+ Calculate.calories_from_extract({
33
+ original: 1.05,
34
+ terminal: 1.01
35
+ }, :specific_gravity).must_equal 80
24
36
  end
25
37
 
26
38
  it "must calculate calories from extract using original and terminal Brix" do
27
- (Calculate.calories_from_extract 15.5, 7.2, :brix).must_equal 224
39
+ Calculate.calories_from_extract({
40
+ original: 15.5,
41
+ terminal: 7.2
42
+ }, :brix).must_equal 80
28
43
  end
29
44
 
30
45
  it "must calculate calories per serving using original and terminal Plato" do
31
- (Calculate.calories_per_serving 13, 2.5).must_equal 234
46
+ Calculate.calories_per_serving({
47
+ original: 13,
48
+ terminal: 2.5
49
+ }).must_equal 234
32
50
  end
33
51
 
34
52
  it "must calculate calories per serving using original and terminal gravities" do
35
- (Calculate.calories_per_serving 1.05, 1.01, :specific_gravity).must_equal 219
53
+ Calculate.calories_per_serving({
54
+ original: 1.05,
55
+ terminal: 1.01
56
+ }, :specific_gravity).must_equal 219
36
57
  end
37
58
 
38
59
  it "must calculate calories per serving using original and terminal Brix" do
39
- (Calculate.calories_per_serving 15.5, 7.2, :brix).must_equal 305
60
+ Calculate.calories_per_serving({
61
+ original: 15.5,
62
+ terminal: 7.2
63
+ }, :brix).must_equal 282
40
64
  end
41
65
 
42
66
  it "must raise an exception when the extract unit is unrecognized" do
43
- lambda { Calculate.calories_from_alcohol 392, 739, :wtf? }.must_raise ArgumentError
44
- lambda { Calculate.calories_from_extract 392, 739, :wtf? }.must_raise ArgumentError
45
- lambda { Calculate.calories_per_serving 392, 739, :wtf? }.must_raise ArgumentError
67
+ lambda {
68
+ Calculate.calories_from_alcohol({
69
+ original: 392,
70
+ terminal: 739
71
+ }, :wtf)
72
+ }.must_raise ArgumentError
73
+
74
+ lambda {
75
+ Calculate.calories_from_extract({
76
+ original: 392,
77
+ terminal: 739
78
+ }, :wtf)
79
+ }.must_raise ArgumentError
80
+
81
+ lambda {
82
+ Calculate.calories_per_serving({
83
+ original: 392,
84
+ terminal: 739
85
+ }, :wtf)
86
+ }.must_raise ArgumentError
46
87
  end
47
88
 
48
89
  end
@@ -20,15 +20,24 @@ describe Calculate do
20
20
  end
21
21
 
22
22
  it "must calculate hop utilization from Plato" do
23
- (Calculate.hop_utilization 15, 60).must_equal 0.21
23
+ Calculate.hop_utilization({
24
+ at: 60,
25
+ extract: 15
26
+ }).must_equal 0.21
24
27
  end
25
28
 
26
29
  it "must calculate hop utilization from Brix" do
27
- (Calculate.hop_utilization 12, 30, :brix).must_equal 0.18
30
+ Calculate.hop_utilization({
31
+ at: 30,
32
+ extract: 12
33
+ }, :brix).must_equal 0.18
28
34
  end
29
35
 
30
36
  it "must calculate hop utilization from specific gravity" do
31
- (Calculate.hop_utilization 1.065, 10, :specific_gravity).must_equal 0.07
37
+ Calculate.hop_utilization({
38
+ at: 10,
39
+ extract: 1.065
40
+ }, :specific_gravity).must_equal 0.07
32
41
  end
33
42
 
34
43
  it "must calculate IBUs from hop addition using Plato" do
@@ -48,7 +57,7 @@ describe Calculate do
48
57
  alpha: 5.0,
49
58
  mass: 2,
50
59
  volume: 19
51
- }, { :mass => :ounces }).must_equal 34
60
+ }, { mass: :ounces }).must_equal 34
52
61
  end
53
62
 
54
63
  it "must calculate IBUs from hop addition using gallons" do
@@ -58,7 +67,7 @@ describe Calculate do
58
67
  alpha: 5.0,
59
68
  mass: 56,
60
69
  volume: 5
61
- }, { :volume => :gallons }).must_equal 34
70
+ }, { volume: :gallons }).must_equal 34
62
71
  end
63
72
 
64
73
  it "must calculate IBUs from hop addition using Brix" do
@@ -68,7 +77,7 @@ describe Calculate do
68
77
  alpha: 5.0,
69
78
  mass: 56,
70
79
  volume: 19
71
- }, { :extract => :brix }).must_equal 34
80
+ }, { extract: :brix }).must_equal 34
72
81
  end
73
82
 
74
83
  it "must calculate IBUs from hop addition using specific gravity" do
@@ -78,7 +87,7 @@ describe Calculate do
78
87
  alpha: 5.0,
79
88
  mass: 56,
80
89
  volume: 19
81
- }, { :extract => :specific_gravity }).must_equal 34
90
+ }, { extract: :specific_gravity }).must_equal 34
82
91
  end
83
92
 
84
93
  it "must calculate hop mass required for a specific IBU contribution using specific gravity" do
@@ -88,7 +97,7 @@ describe Calculate do
88
97
  alpha: 5.0,
89
98
  ibus: 34,
90
99
  volume: 19
91
- }, { :extract => :specific_gravity }).must_equal 56
100
+ }, { extract: :specific_gravity }).must_equal 56
92
101
  end
93
102
 
94
103
  it "must calculate hop mass required for a specific IBU contribution using Plato" do
@@ -108,7 +117,7 @@ describe Calculate do
108
117
  alpha: 5.0,
109
118
  ibus: 34,
110
119
  volume: 19
111
- }, { :extract => :brix }).must_equal 56
120
+ }, { extract: :brix }).must_equal 56
112
121
  end
113
122
 
114
123
  it "must calculate hop mass required for a specific IBU contribution using gallons" do
@@ -118,7 +127,17 @@ describe Calculate do
118
127
  alpha: 5.0,
119
128
  ibus: 34,
120
129
  volume: 5
121
- }, { :volume => :gallons }).must_equal 56
130
+ }, { volume: :gallons }).must_equal 56
131
+ end
132
+
133
+ it "must calculate hop mass required for a specific IBU contribution using ounces" do
134
+ Calculate.hop_mass_required({
135
+ extract: 12.3,
136
+ at: 60,
137
+ alpha: 5.0,
138
+ ibus: 75,
139
+ volume: 5
140
+ }, { mass: :ounces }).must_equal 1.2
122
141
  end
123
142
 
124
143
  it "must calculate milliliters of HopShot required for a specific IBU contribution using specific gravity" do
@@ -127,28 +146,28 @@ describe Calculate do
127
146
  at: 60,
128
147
  volume: 19,
129
148
  extract: 1.045
130
- }, { :extract => :specific_gravity }).must_equal 3.5
149
+ }, { extract: :specific_gravity }).must_equal 3.5
131
150
 
132
151
  Calculate.hopshot_required({
133
152
  ibus: 80,
134
153
  at: 60,
135
154
  volume: 38,
136
155
  extract: 1.085
137
- }, { :extract => :specific_gravity }).must_equal 17.6
156
+ }, { extract: :specific_gravity }).must_equal 17.6
138
157
 
139
158
  Calculate.hopshot_required({
140
159
  ibus: 80,
141
160
  at: 60,
142
161
  volume: 38,
143
162
  extract: 1.1
144
- }, { :extract => :specific_gravity }).must_equal 19.2
163
+ }, { extract: :specific_gravity }).must_equal 19.2
145
164
 
146
165
  Calculate.hopshot_required({
147
166
  ibus: 60,
148
167
  at: 90,
149
168
  volume: 19,
150
169
  extract: 1.15
151
- }, { :extract => :specific_gravity }).must_equal 7.2
170
+ }, { extract: :specific_gravity }).must_equal 7.2
152
171
  end
153
172
 
154
173
  it "must calculate milliliters of HopShot required for a specific IBU contribution using Plato" do
@@ -187,28 +206,28 @@ describe Calculate do
187
206
  at: 60,
188
207
  volume: 19,
189
208
  extract: 12.2
190
- }, { :extract => :brix }).must_equal 3.5
209
+ }, { extract: :brix }).must_equal 3.5
191
210
 
192
211
  Calculate.hopshot_required({
193
212
  ibus: 80,
194
213
  at: 60,
195
214
  volume: 38,
196
215
  extract: 20.3
197
- }, { :extract => :brix }).must_equal 17.6
216
+ }, { extract: :brix }).must_equal 17.6
198
217
 
199
218
  Calculate.hopshot_required({
200
219
  ibus: 80,
201
220
  at: 60,
202
221
  volume: 38,
203
222
  extract: 23.6
204
- }, { :extract => :brix }).must_equal 19.2
223
+ }, { extract: :brix }).must_equal 19.2
205
224
 
206
225
  Calculate.hopshot_required({
207
226
  ibus: 60,
208
227
  at: 90,
209
228
  volume: 19,
210
229
  extract: 34.1
211
- }, { :extract => :brix }).must_equal 7.2
230
+ }, { extract: :brix }).must_equal 7.2
212
231
  end
213
232
 
214
233
  it "must calculate milliliters of HopShot required for a specific IBU contribution using gallons" do
@@ -217,22 +236,22 @@ describe Calculate do
217
236
  at: 60,
218
237
  volume: 5,
219
238
  extract: 11.2
220
- }, { :volume => :gallons }).must_equal 3.5
239
+ }, { volume: :gallons }).must_equal 3.5
221
240
  end
222
241
 
223
242
  it "must raise an exception for unrecognized units of measure" do
224
243
  lambda { Calculate.hop_extract_adjustment 99, :razor_blades }.must_raise ArgumentError
225
- lambda { Calculate.hop_utilization 18, 90, :razor_blades }.must_raise ArgumentError
244
+ lambda { Calculate.hop_utilization({ at: 18, extract: 90 }, :razor_blades) }.must_raise ArgumentError
226
245
 
227
- lambda { Calculate.ibus({ extract: 1.05, at: 60, alpha: 5.0, mass: 56, volume: 19 }, { :extract => :razor_blades }) }.must_raise ArgumentError
228
- lambda { Calculate.ibus({ extract: 1.05, at: 60, alpha: 5.0, mass: 56, volume: 19 }, { :mass => :razor_blades }) }.must_raise ArgumentError
229
- lambda { Calculate.ibus({ extract: 1.05, at: 60, alpha: 5.0, mass: 56, volume: 19 }, { :volume => :razor_blades }) }.must_raise ArgumentError
246
+ lambda { Calculate.ibus({ extract: 1.05, at: 60, alpha: 5.0, mass: 56, volume: 19 }, { extract: :razor_blades }) }.must_raise ArgumentError
247
+ lambda { Calculate.ibus({ extract: 1.05, at: 60, alpha: 5.0, mass: 56, volume: 19 }, { mass: :razor_blades }) }.must_raise ArgumentError
248
+ lambda { Calculate.ibus({ extract: 1.05, at: 60, alpha: 5.0, mass: 56, volume: 19 }, { volume: :razor_blades }) }.must_raise ArgumentError
230
249
 
231
- lambda { Calculate.hop_mass_required({ extract: 1.05, at: 60, alpha: 5.0, ibus: 56, volume: 19 }, { :extract => :razor_blades }) }.must_raise ArgumentError
232
- lambda { Calculate.hop_mass_required({ extract: 1.05, at: 60, alpha: 5.0, ibus: 56, volume: 19 }, { :volume => :razor_blades }) }.must_raise ArgumentError
250
+ lambda { Calculate.hop_mass_required({ extract: 1.05, at: 60, alpha: 5.0, ibus: 56, volume: 19 }, { extract: :razor_blades }) }.must_raise ArgumentError
251
+ lambda { Calculate.hop_mass_required({ extract: 1.05, at: 60, alpha: 5.0, ibus: 56, volume: 19 }, { volume: :razor_blades }) }.must_raise ArgumentError
233
252
 
234
- lambda { Calculate.hopshot_required({ extract: 1.05, at: 60, alpha: 5.0, ibus: 56, volume: 19 }, { :extract => :razor_blades }) }.must_raise ArgumentError
235
- lambda { Calculate.hopshot_required({ extract: 1.05, at: 60, alpha: 5.0, ibus: 56, volume: 19 }, { :volume => :razor_blades }) }.must_raise ArgumentError
253
+ lambda { Calculate.hopshot_required({ extract: 1.05, at: 60, alpha: 5.0, ibus: 56, volume: 19 }, { extract: :razor_blades }) }.must_raise ArgumentError
254
+ lambda { Calculate.hopshot_required({ extract: 1.05, at: 60, alpha: 5.0, ibus: 56, volume: 19 }, { volume: :razor_blades }) }.must_raise ArgumentError
236
255
  end
237
256
 
238
257
  end
@@ -3,25 +3,69 @@ require "calculators/mash"
3
3
 
4
4
  describe Calculate do
5
5
 
6
- it "must calculate strike temperature using E.U. measures" do
7
- (Calculate.strike_temperature 1.5, 21, 40).must_equal 45
6
+ it "must calculate strike temperature using metric measures" do
7
+ Calculate.strike_temperature({
8
+ ratio: 1.5,
9
+ initial: 21,
10
+ target: 40
11
+ }).must_equal 45
8
12
  end
9
13
 
10
14
  it "must calculate strike temperature using U.S. measures" do
11
- (Calculate.strike_temperature 1.5, 70, 104, :us).must_equal 109
15
+ Calculate.strike_temperature({
16
+ ratio: 1.5,
17
+ initial: 70,
18
+ target: 104
19
+ }, :us).must_equal 109
12
20
  end
13
21
 
14
- it "must calculate infusion volume using E.U. measures" do
15
- (Calculate.infusion_volume 1, 40, 60, 3.6, 3.6).must_equal 2.5
22
+ it "must allow a loss adjustment when calculating strike temperature" do
23
+ Calculate.strike_temperature({
24
+ ratio: 1.5,
25
+ initial: 60,
26
+ target: 150,
27
+ loss: 1.015
28
+ }, :us).must_equal 164
29
+ end
30
+
31
+ it "must calculate infusion volume using metric measures" do
32
+ Calculate.infusion_volume({
33
+ ratio: 1,
34
+ initial: 40,
35
+ target: 60,
36
+ mass: 3.6,
37
+ volume: 3.6
38
+ }).must_equal 2.5
16
39
  end
17
40
 
18
41
  it "must calculate infusion volume using U.S. measures" do
19
- (Calculate.infusion_volume 1, 104, 140, 8, 8, :us).must_equal 4.8
42
+ Calculate.infusion_volume({
43
+ ratio: 1,
44
+ initial: 104,
45
+ target: 140,
46
+ mass: 8,
47
+ volume: 8
48
+ }, :us).must_equal 4.8
20
49
  end
21
50
 
22
51
  it "must raise and exception when given an unknown unit" do
23
- lambda { Calculate.strike_temperature 1, 1, 1, :imperial }.must_raise ArgumentError
24
- lambda { Calculate.infusion_volume 1, 1, 1, 1, 1, :imperial }.must_raise ArgumentError
52
+ lambda {
53
+ Calculate.strike_temperature({
54
+ ratio: 1,
55
+ initial: 1,
56
+ target: 1
57
+ }, :imperial)
58
+ }.must_raise ArgumentError
59
+
60
+ lambda {
61
+ Calculate.infusion_volume({
62
+ ratio: 1,
63
+ initial: 1,
64
+ target: 1,
65
+ mass: 1,
66
+ volume: 1
67
+ }, :imperial)
68
+ }.must_raise ArgumentError
25
69
  end
26
70
 
27
71
  end
@@ -4,75 +4,146 @@ require "calculators/yeast"
4
4
  describe Calculate do
5
5
 
6
6
  it "must calculate yeast cells needed for an ale" do
7
- (Calculate.yeast_cells_required 12, 20).must_equal 180_000_000_000
7
+ Calculate.yeast_cells_required({
8
+ extract: 12,
9
+ volume: 20
10
+ }).must_equal 180_000_000_000
8
11
  end
9
12
 
10
13
  it "must calculate yeast cells needed for a hybrid" do
11
- (Calculate.yeast_cells_required 12, 20, { :type => :hybrid }).must_equal 270_000_000_000
14
+ Calculate.yeast_cells_required({
15
+ extract: 12,
16
+ volume: 20,
17
+ type: :hybrid
18
+ }).must_equal 270_000_000_000
12
19
  end
13
20
 
14
21
  it "must calculate yeast cells needed for a lager" do
15
- (Calculate.yeast_cells_required 12, 20, { :type => :lager }).must_equal 360_000_000_000
22
+ Calculate.yeast_cells_required({
23
+ extract: 12,
24
+ volume: 20,
25
+ type: :lager
26
+ }).must_equal 360_000_000_000
16
27
  end
17
28
 
18
29
  it "must calculate yeast cells needed for an ale using gallons" do
19
- (Calculate.yeast_cells_required 12, 5.3, { :volume => :gallons }).must_equal 180_900_000_000
30
+ Calculate.yeast_cells_required({
31
+ extract: 12,
32
+ volume: 5.3
33
+ }, { volume: :gallons }).must_equal 180_900_000_000
20
34
  end
21
35
 
22
36
  it "must calculate yeast cells needed for an ale using specific gravity" do
23
- (Calculate.yeast_cells_required 1.048, 20, { :extract => :specific_gravity }).must_equal 178_500_000_000
37
+ Calculate.yeast_cells_required({
38
+ extract: 1.048,
39
+ volume: 20
40
+ }, { extract: :specific_gravity }).must_equal 178_500_000_000
24
41
  end
25
42
 
26
43
  it "must calculate yeast cells needed for an ale using Brix" do
27
- (Calculate.yeast_cells_required 18.5, 20, { :extract => :brix }).must_equal 279_000_000_000
44
+ Calculate.yeast_cells_required({
45
+ extract: 18.5,
46
+ volume: 20
47
+ }, { extract: :brix }).must_equal 279_000_000_000
28
48
  end
29
49
 
30
50
  it "must calculate yeast cells needed for an ale using gallons and specific gravity" do
31
- (Calculate.yeast_cells_required 1.048, 5.3, { :volume => :gallons, :extract => :specific_gravity }).must_equal 179_392_500_000
51
+ Calculate.yeast_cells_required({
52
+ extract: 1.048,
53
+ volume: 5.3
54
+ }, { extract: :specific_gravity, volume: :gallons }).must_equal 179_392_500_000
32
55
  end
33
56
 
34
57
  it "must calculate yeast cells needed for an hybrid using gallons" do
35
- (Calculate.yeast_cells_required 12, 5.3, { :volume => :gallons, :type => :hybrid }).must_equal 271_350_000_000
58
+ Calculate.yeast_cells_required({
59
+ extract: 12,
60
+ volume: 5.3,
61
+ type: :hybrid
62
+ }, { volume: :gallons }).must_equal 271_350_000_000
36
63
  end
37
64
 
38
65
  it "must calculate yeast cells needed for an hybrid using specific gravity" do
39
- (Calculate.yeast_cells_required 1.048, 20, { :extract => :specific_gravity, :type => :hybrid }).must_equal 267_750_000_000
66
+ Calculate.yeast_cells_required({
67
+ extract: 1.048,
68
+ volume: 20,
69
+ type: :hybrid
70
+ }, { extract: :specific_gravity }).must_equal 267_750_000_000
40
71
  end
41
72
 
42
73
  it "must calculate yeast cells needed for an hybrid using Brix" do
43
- (Calculate.yeast_cells_required 18.5, 20, { :extract => :brix, :type => :hybrid }).must_equal 418_500_000_000
74
+ Calculate.yeast_cells_required({
75
+ extract: 18.5,
76
+ volume: 20,
77
+ type: :hybrid
78
+ }, { extract: :brix }).must_equal 418_500_000_000
44
79
  end
45
80
 
46
81
  it "must calculate yeast cells needed for an hybrid using gallons and specific gravity" do
47
- (Calculate.yeast_cells_required 1.048, 5.3, { :volume => :gallons, :extract => :specific_gravity, :type => :hybrid }).must_equal 269_088_750_000
82
+ Calculate.yeast_cells_required({
83
+ extract: 1.048,
84
+ volume: 5.3,
85
+ type: :hybrid
86
+ }, { extract: :specific_gravity, volume: :gallons }).must_equal 269_088_750_000
48
87
  end
49
88
 
50
89
  it "must calculate yeast cells needed for an lager using gallons" do
51
- (Calculate.yeast_cells_required 12, 5.3, { :volume => :gallons, :type => :lager }).must_equal 361_800_000_000
90
+ Calculate.yeast_cells_required({
91
+ extract: 12,
92
+ volume: 5.3,
93
+ type: :lager
94
+ }, { volume: :gallons }).must_equal 361_800_000_000
52
95
  end
53
96
 
54
97
  it "must calculate yeast cells needed for an lager using specific gravity" do
55
- (Calculate.yeast_cells_required 1.048, 20, { :extract => :specific_gravity, :type => :lager }).must_equal 357_000_000_000
98
+ Calculate.yeast_cells_required({
99
+ extract: 1.048,
100
+ volume: 20,
101
+ type: :lager
102
+ }, { extract: :specific_gravity }).must_equal 357_000_000_000
56
103
  end
57
104
 
58
105
  it "must calculate yeast cells needed for an lager using Brix" do
59
- (Calculate.yeast_cells_required 18.5, 20, { :extract => :brix, :type => :lager }).must_equal 558_000_000_000
106
+ Calculate.yeast_cells_required({
107
+ extract: 18.5,
108
+ volume: 20,
109
+ type: :lager
110
+ }, { extract: :brix }).must_equal 558_000_000_000
60
111
  end
61
112
 
62
113
  it "must calculate yeast cells needed for an lager using gallons and specific gravity" do
63
- (Calculate.yeast_cells_required 1.048, 5.3, { :volume => :gallons, :extract => :specific_gravity, :type => :lager }).must_equal 358_785_000_000
114
+ Calculate.yeast_cells_required({
115
+ extract: 1.048,
116
+ volume: 5.3,
117
+ type: :lager
118
+ }, { extract: :specific_gravity, volume: :gallons }).must_equal 358_785_000_000
64
119
  end
65
120
 
66
121
  it "must raise an exception when the beer type is unrecognized" do
67
- lambda { Calculate.yeast_cells_required 15, 20, { :type => :wine } }.must_raise ArgumentError
122
+ lambda {
123
+ Calculate.yeast_cells_required({
124
+ extract: 15,
125
+ volume: 20,
126
+ type: :wine
127
+ })
128
+ }.must_raise ArgumentError
68
129
  end
69
130
 
70
131
  it "must raise an exception when the extract unit is unrecognized" do
71
- lambda { Calculate.yeast_cells_required 15, 20, { :extract => :squeeze } }.must_raise ArgumentError
132
+ lambda {
133
+ Calculate.yeast_cells_required({
134
+ extract: 15,
135
+ volume: 20
136
+ }, { extract: :squeeze })
137
+ }.must_raise ArgumentError
72
138
  end
73
139
 
74
140
  it "must raise an exception when the volume unit is unrecognized" do
75
- lambda { Calculate.yeast_cells_required 15, 20, { :volume => :barrels } }.must_raise ArgumentError
141
+ lambda {
142
+ Calculate.yeast_cells_required({
143
+ extract: 15,
144
+ volume: 20
145
+ }, { volume: :barrels })
146
+ }.must_raise ArgumentError
76
147
  end
77
148
 
78
149
  end