1
- gem 'minitest' , '>= 5.0.0'
2
1
require 'minitest/autorun'
3
2
require_relative 'all_your_base'
4
3
4
+ # Test data version: aa12f2e
5
5
class AllYourBaseTest < Minitest ::Test
6
- def test_single_bit_to_one_decimal
6
+ def test_single_bit_one_to_decimal
7
+ # skip
7
8
digits = [ 1 ]
8
9
input_base = 2
9
10
output_base = 10
@@ -131,7 +132,7 @@ def test_empty_list
131
132
def test_single_zero
132
133
skip
133
134
digits = [ 0 ]
134
- input_base = 10
135
+ input_base = 10
135
136
output_base = 2
136
137
expected = [ 0 ]
137
138
@@ -142,10 +143,10 @@ def test_single_zero
142
143
"Expected #{ expected } but got #{ converted } ."
143
144
end
144
145
145
- def test_multiple_zeroes
146
+ def test_multiple_zeros
146
147
skip
147
148
digits = [ 0 , 0 , 0 ]
148
- input_base = 10
149
+ input_base = 10
149
150
output_base = 2
150
151
expected = [ 0 ]
151
152
@@ -175,129 +176,118 @@ def test_negative_digit
175
176
digits = [ 1 , -1 , 1 , 0 , 1 , 0 ]
176
177
input_base = 2
177
178
output_base = 10
178
- expected = nil
179
-
180
- converted = BaseConverter . convert ( input_base , digits , output_base )
181
179
182
- assert_equal expected , converted ,
183
- "Input base: #{ input_base } , output base #{ output_base } . " \
184
- "Expected #{ expected } but got #{ converted } ."
180
+ assert_raises ArgumentError do
181
+ BaseConverter . convert ( input_base , digits , output_base )
182
+ end
185
183
end
186
184
187
185
def test_invalid_positive_digit
188
186
skip
189
187
digits = [ 1 , 2 , 1 , 0 , 1 , 0 ]
190
188
input_base = 2
191
189
output_base = 10
192
- expected = nil
193
-
194
- converted = BaseConverter . convert ( input_base , digits , output_base )
195
190
196
- assert_equal expected , converted ,
197
- "Input base: #{ input_base } , output base #{ output_base } . " \
198
- "Expected #{ expected } but got #{ converted } ."
191
+ assert_raises ArgumentError do
192
+ BaseConverter . convert ( input_base , digits , output_base )
193
+ end
199
194
end
200
195
201
196
def test_first_base_is_one
202
197
skip
203
198
digits = [ ]
204
199
input_base = 1
205
200
output_base = 10
206
- expected = nil
207
201
208
- converted = BaseConverter . convert ( input_base , digits , output_base )
209
-
210
- assert_equal expected , converted ,
211
- "Input base: #{ input_base } , output base #{ output_base } . " \
212
- "Expected #{ expected } but got #{ converted } ."
202
+ assert_raises ArgumentError do
203
+ BaseConverter . convert ( input_base , digits , output_base )
204
+ end
213
205
end
214
206
215
207
def test_second_base_is_one
216
208
skip
217
209
digits = [ 1 , 0 , 1 , 0 , 1 , 0 ]
218
210
input_base = 2
219
211
output_base = 1
220
- expected = nil
221
-
222
- converted = BaseConverter . convert ( input_base , digits , output_base )
223
212
224
- assert_equal expected , converted ,
225
- "Input base: #{ input_base } , output base #{ output_base } . " \
226
- "Expected #{ expected } but got #{ converted } ."
213
+ assert_raises ArgumentError do
214
+ BaseConverter . convert ( input_base , digits , output_base )
215
+ end
227
216
end
228
217
229
218
def test_first_base_is_zero
230
219
skip
231
220
digits = [ ]
232
221
input_base = 0
233
222
output_base = 10
234
- expected = nil
235
-
236
- converted = BaseConverter . convert ( input_base , digits , output_base )
237
223
238
- assert_equal expected , converted ,
239
- "Input base: #{ input_base } , output base #{ output_base } . " \
240
- "Expected #{ expected } but got #{ converted } ."
224
+ assert_raises ArgumentError do
225
+ BaseConverter . convert ( input_base , digits , output_base )
226
+ end
241
227
end
242
228
243
229
def test_second_base_is_zero
244
230
skip
245
231
digits = [ 7 ]
246
232
input_base = 10
247
233
output_base = 0
248
- expected = nil
249
234
250
- converted = BaseConverter . convert ( input_base , digits , output_base )
251
-
252
- assert_equal expected , converted ,
253
- "Input base: #{ input_base } , output base #{ output_base } . " \
254
- "Expected #{ expected } but got #{ converted } ."
235
+ assert_raises ArgumentError do
236
+ BaseConverter . convert ( input_base , digits , output_base )
237
+ end
255
238
end
256
239
257
240
def test_first_base_is_negative
258
241
skip
259
242
digits = [ 1 ]
260
243
input_base = -2
261
244
output_base = 10
262
- expected = nil
263
-
264
- converted = BaseConverter . convert ( input_base , digits , output_base )
265
245
266
- assert_equal expected , converted ,
267
- "Input base: #{ input_base } , output base #{ output_base } . " \
268
- "Expected #{ expected } but got #{ converted } ."
246
+ assert_raises ArgumentError do
247
+ BaseConverter . convert ( input_base , digits , output_base )
248
+ end
269
249
end
270
250
271
251
def test_second_base_is_negative
272
252
skip
273
253
digits = [ 1 ]
274
254
input_base = 2
275
255
output_base = -7
276
- expected = nil
277
-
278
- converted = BaseConverter . convert ( input_base , digits , output_base )
279
256
280
- assert_equal expected , converted ,
281
- "Input base: #{ input_base } , output base #{ output_base } . " \
282
- "Expected #{ expected } but got #{ converted } ."
257
+ assert_raises ArgumentError do
258
+ BaseConverter . convert ( input_base , digits , output_base )
259
+ end
283
260
end
284
261
285
262
def test_both_bases_are_negative
286
263
skip
287
264
digits = [ 1 ]
288
265
input_base = -2
289
266
output_base = -7
290
- expected = nil
291
267
292
- converted = BaseConverter . convert ( input_base , digits , output_base )
293
-
294
- assert_equal expected , converted ,
295
- "Input base: #{ input_base } , output base #{ output_base } . " \
296
- "Expected #{ expected } but got #{ converted } ."
268
+ assert_raises ArgumentError do
269
+ BaseConverter . convert ( input_base , digits , output_base )
270
+ end
297
271
end
298
272
273
+ # Problems in exercism evolve over time, as we find better ways to ask
274
+ # questions.
275
+ # The version number refers to the version of the problem you solved,
276
+ # not your solution.
277
+ #
278
+ # Define a constant named VERSION inside of the top level BookKeeping
279
+ # module, which may be placed near the end of your file.
280
+ #
281
+ # In your file, it will look like this:
282
+ #
283
+ # module BookKeeping
284
+ # VERSION = 1 # Where the version number matches the one in the test.
285
+ # end
286
+ #
287
+ # If you are curious, read more about constants on RubyDoc:
288
+ # http://ruby-doc.org/docs/ruby-doc-bundle/UsersGuide/rg/constants.html
299
289
def test_bookkeeping
300
290
skip
301
- assert_equal 1 , BookKeeping ::VERSION
291
+ assert_equal 2 , BookKeeping ::VERSION
302
292
end
303
293
end
0 commit comments