rubyunit 0.3.19 → 0.3.20

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b42f86c558335da460eae82ff6cd75f73a91524c
4
- data.tar.gz: 83c926d309db46f940becd13cdd5d05dc2c53639
3
+ metadata.gz: fd9ffda90dff8ebfa3160c4b4ceec4576e408342
4
+ data.tar.gz: c70119c8318e8d5859e9d88970ed068501fd7b8f
5
5
  SHA512:
6
- metadata.gz: 96d32102c962c4791dd4e8c4df95b497161c93c7d6741fd962cc99c1075d51902ee025ff8c661ceeb376ce30f05a9f1450b6d2158b112bf6706ab96f643c3ae3
7
- data.tar.gz: 8c3a266c53efebc08d7ea4d0389729309719c43682ae327df6574dfb043da12baf4d51d2127e53966102f216cc6db09e845f87dd648b741a8097c92fb67bed2b
6
+ metadata.gz: a29157a5f264788674d89c37bbc179decb028266ae4af93927370689abb7c522ce89b64a75b4f13d1f13a1f61c31854b70fc816699cab70d334dbf6540f8f728
7
+ data.tar.gz: 42f7bfb1e1f8c6c9d3f9d665044ac467fc2a59aa9da70812fed6bec342d2efe76c7f5f8316a12772ebe2d73bb9bad7e9dd2f7053a5b163c94ce64c925a80b4f9
data/TestSuite.rb CHANGED
@@ -4,7 +4,7 @@
4
4
  # in this repository
5
5
  path = File.dirname(__FILE__)
6
6
 
7
- $LOAD_PATH.unshift("#{path}/lib") unless ARGV.include? '--gem'
7
+ $:.unshift("#{path}/lib") unless ARGV.include? '--gem'
8
8
 
9
9
  require 'RubyUnit'
10
10
 
@@ -15,7 +15,7 @@ module RubyUnit
15
15
  # The data associated with the assertion
16
16
  #
17
17
  def initialize data = {}
18
- raise ArgumentError, 'Data for AssertionFailure must be a Hash' unless data.is_a? Hash
18
+ raise TypeError, 'Data for AssertionFailure must be a Hash' unless data.is_a? Hash
19
19
  @data = data
20
20
  end
21
21
 
@@ -51,6 +51,7 @@ module RubyUnit
51
51
 
52
52
  ##
53
53
  # Exception assertions
54
+ ASSERT_RAISE_ERROR = 'Exception WAS raised'
54
55
  ASSERT_NOTHING_RAISED_ERROR = 'Exception WAS NOT raised'
55
56
  ASSERT_RAISE_MESSAGE_ERROR = 'Exception message WAS raised'
56
57
  ASSERT_RAISE_KIND_OF_ERROR = 'Exception Class WAS raised'
@@ -205,8 +205,21 @@ module RubyUnit
205
205
  private
206
206
  ##
207
207
  # Helper for asserting descendents
208
- def __assert_descendent error, klass, descendent, message
209
- raise ArgumentError, "Expecting Class, got #{klass.class}" unless klass.is_a? Class
208
+ #
209
+ # error::
210
+ # The error message
211
+ #
212
+ # klass::
213
+ # The parent class
214
+ #
215
+ # descendent::
216
+ # The descendent class
217
+ #
218
+ # message::
219
+ # The message provided to be reported for a failure
220
+ #
221
+ def __assert_descendent error, klass, descendent, message # :nodoc:
222
+ raise TypeError, "Expecting Class, got #{klass.class}" unless klass.is_a? Class
210
223
  __assert_block error, message, {:class=>klass, :descendent=>descendent} do
211
224
  yield
212
225
  end
@@ -49,14 +49,14 @@ module RubyUnit
49
49
  # end
50
50
  #
51
51
  def assertRaiseMessage pattern, message = nil, &block
52
- assertRaiseExpected Exception, pattern, message, &block
52
+ __assert_exception ASSERT_RAISE_MESSAGE_ERROR, Exception, pattern, message, &block
53
53
  end
54
54
 
55
55
  ##
56
56
  # Assert that a specified exception type is raised.
57
57
  # * raises RubyUnit::AssertionFailure unless the correct Exception type is raised
58
58
  #
59
- # e::
59
+ # exception::
60
60
  # The Exception class that is expected.
61
61
  #
62
62
  # message::
@@ -69,8 +69,8 @@ module RubyUnit
69
69
  # # do something
70
70
  # end
71
71
  #
72
- def assertRaiseKindOf e, message = nil, &block
73
- assertRaiseExpected e, '', message, &block
72
+ def assertRaiseKindOf exception, message = nil, &block
73
+ __assert_exception ASSERT_RAISE_KIND_OF_ERROR, exception, '', message, &block
74
74
  end
75
75
 
76
76
  ##
@@ -93,29 +93,68 @@ module RubyUnit
93
93
  # raise StandardError, 'Invalid Retroincabulator'
94
94
  # end
95
95
  #
96
- def assertRaiseExpected exception, pattern, message = nil &block
97
- __assert_exception pattern, exception
98
- __assert_block ASSERT_RAISE_EXPECTED_ERROR, message, {:exception=>exception, :pattern=>pattern} do
99
- e = false
100
- begin
101
- yield
102
- rescue exception => e
103
- assertEqual pattern, e.message, message if pattern.is_a? String and pattern.length > 0
104
- assertMatch pattern, e.message, message if pattern.is_a? Regexp
105
- end
106
- e
107
- end
96
+ def assertRaiseExpected exception, pattern, message = nil, &block
97
+ __assert_exception ASSERT_RAISE_EXPECTED_ERROR, exception, pattern, message, &block
108
98
  end
109
99
 
110
100
  private
111
101
  ##
112
102
  # Validate the parameters for exception assertions
113
- # * raises ArgumentError if _pattern_ is not a String or Regexp
114
- # * raises ArgumentError unless _e_ is a descendent of the Exception class
103
+ # * raises TypeError if _pattern_ is not a String or Regexp
104
+ # * raises TypeError unless _e_ is a descendent of the Exception class
105
+ #
106
+ # pattern:
107
+ # The regular expression which validates the exception message
108
+ #
109
+ # exception:
110
+ # The exception type that is expected to be raised
111
+ #
112
+ # message:
113
+ # The message provided to be reported for a failure
114
+ #
115
+ def __validate_exception pattern, exception = Exception # :nodoc:
116
+ raise TypeError, "Expected subclass of Exception, got #{exception.class}" unless exception.instance_of? Class and exception <= Exception
117
+ regex = pattern
118
+ if pattern.is_a? String
119
+ regex = pattern.length.zero? ? /#{pattern}/ : /^#{pattern}$/
120
+ elsif not pattern.is_a? Regexp
121
+ raise TypeError, "Message pattern must be a Regexp or String, got #{pattern.class}"
122
+ end
123
+ regex
124
+ end
125
+
126
+ ##
127
+ # Common method to get catch exceptions and build error message
128
+ #
129
+ # error:
130
+ # The error message for the current assertion
115
131
  #
116
- def __assert_exception pattern, e = Exception # :nodoc:
117
- raise ArgumentError, "Message patter must be a Regexp or String, got #{pattern.class}" unless pattern.is_a? Regexp or pattern.is_a? String
118
- raise ArgumentError, "Expected subclass of Exception, got #{e.class}" unless e < Exception
132
+ # exception:
133
+ # The exception type that is expected to be raised
134
+ #
135
+ # pattern:
136
+ # The regular expression which validates the exception message
137
+ #
138
+ # message:
139
+ # The message provided to be reported for a failure
140
+ #
141
+ def __assert_exception error, exception, pattern, message = nil, &block # :nodoc:
142
+ pattern = __validate_exception pattern, exception
143
+ Assertions.add_assertion
144
+ errors = []
145
+ failure = false
146
+ begin
147
+ yield
148
+ errors << ASSERT_RAISE_ERROR
149
+ rescue exception => failure
150
+ errors << ASSERT_RAISE_MESSAGE_ERROR unless pattern =~ failure.message
151
+ # we'll need to revisit this.
152
+ rescue Exception => failure
153
+ errors << ASSERT_RAISE_KIND_OF_ERROR
154
+ end
155
+ errors.unshift error unless errors.count.zero?
156
+ __fail errors.join("\n"), message, {:exception=>exception, :pattern=>pattern, :raised=>failure} unless errors.count.zero?
157
+ failure
119
158
  end
120
159
  end
121
160
  end
@@ -5,9 +5,9 @@ module RubyUnit
5
5
  ##
6
6
  # Builds the message that will be used with the assertion
7
7
  # * raises RubyUnit::AssertionFailure
8
- # * raises ArgumentError unless error is a String
9
- # * raises ArgumentError unless message is nil or a String
10
- # * raises ArgumentError unless data is a Hash
8
+ # * raises TypeError unless error is a String
9
+ # * raises TypeError unless message responds to to_s
10
+ # * raises TypeError unless data is a Hash
11
11
  #
12
12
  # error::
13
13
  # The assertion description
@@ -21,10 +21,10 @@ module RubyUnit
21
21
  # __fail 'Failing Test', message, {'expected' => expected, 'actual' => actual }
22
22
  #
23
23
  def __fail error, message, data = {} # :nodoc:
24
- raise ArgumentError, 'Error description must be a String' unless error.is_a? String
25
- raise ArgumentError, 'Failure message must be String' unless message.nil? or message.is_a? String
26
- raise ArgumentError, 'Failure data must be a Hash' unless data.is_a? Hash
27
- raise AssertionFailure.new({'Assertion Failure'=>message}.merge data), error
24
+ raise TypeError, 'Error description must be a String' unless error.is_a? String
25
+ raise TypeError, 'Failure message must be String' unless message.respond_to? :to_s
26
+ raise TypeError, 'Failure data must be a Hash' unless data.is_a? Hash
27
+ raise AssertionFailure.new({'Assertion Failure'=>message.to_s}.merge data), error
28
28
  end
29
29
 
30
30
  ##
@@ -40,8 +40,8 @@ module RubyUnit
40
40
  public
41
41
  #
42
42
  # The static test runner
43
- # * raises ArgumentError if any data method doesn't return an array
44
- # * raises ArgumentError if any data method doesn't return an array of arrays
43
+ # * raises TypeError if any data method doesn't return an array
44
+ # * raises TypeError if any data method doesn't return an array of arrays
45
45
  # * Returns the sum of the failure and error counts
46
46
  #
47
47
  # RubyUnit::Runner.run
@@ -63,9 +63,9 @@ module RubyUnit
63
63
  if data_methods.include? data_method
64
64
  data = object.send data_method
65
65
 
66
- raise ArgumentError, "Data method #{data_method} must return an array" unless data.is_a? Array
66
+ raise TypeError, "Data method #{data_method} must return an array" unless data.is_a? Array
67
67
  data.each do |params|
68
- raise ArgumentError, "Data method #{data_method} must return an array of arrays" unless data.is_a? Array
68
+ raise TypeError, "Data method #{data_method} must return an array of arrays" unless data.is_a? Array
69
69
  runner.run test_case, test, params
70
70
  end
71
71
  else
@@ -143,7 +143,7 @@ module RubyUnit
143
143
  # Run a test and record the results. The test object is instantiated and
144
144
  # TestCaseObject.setup is called. TestCaseObject.teardown is called after
145
145
  # the test has finished. This is called by the static runner.
146
- # * raises ArgumentError unless _params_ is an Array
146
+ # * raises TypeError unless _params_ is an Array
147
147
  #
148
148
  # test_case_class::
149
149
  # The test case class that has the test
@@ -157,7 +157,7 @@ module RubyUnit
157
157
  # run TestCaseClass, :myTest, [param1, param2]
158
158
  #
159
159
  def run test_case_class, test, params = []
160
- raise ArgumentError, "Parameter list for #{object.class}::#{test} must be an array" unless params.is_a? Array
160
+ raise TypeError, "Parameter list for #{object.class}::#{test} must be an array" unless params.is_a? Array
161
161
  test_case = test_case_class.new
162
162
 
163
163
  begin
data/lib/RubyUnit.rb CHANGED
@@ -13,17 +13,17 @@ module RubyUnit
13
13
 
14
14
  ##
15
15
  # Current RubyUnit version
16
- VERSION = '0.3.19'
16
+ VERSION = '0.3.20'
17
17
 
18
18
  ##
19
19
  # Set debug mode
20
- # * raises ArgumentError if _bool_ is not a Boolean
20
+ # * raises TypeError if _bool_ is not a Boolean
21
21
  #
22
22
  # bool::
23
23
  # New value for debug mode
24
24
  #
25
25
  def self.debug= bool
26
- raise ArgumentError, INVALID_DEBUG_MODE unless [true, false].include? bool
26
+ raise TypeError, INVALID_DEBUG_MODE unless [true, false].include? bool
27
27
  @@debug = bool
28
28
  end
29
29
 
@@ -238,7 +238,7 @@ module AssertionsTests
238
238
  # Class to be asserted
239
239
  #
240
240
  def assertDescendentInvalidTest klass, descendent
241
- assertRaiseKindOf ArgumentError do
241
+ assertRaiseKindOf TypeError do
242
242
  assertDescendent klass, descendent
243
243
  end
244
244
  end
@@ -290,7 +290,7 @@ module AssertionsTests
290
290
  # The assertion message
291
291
  #
292
292
  def assertDescendentWithMessageInvalidTest klass, descendent, message
293
- assertRaiseKindOf ArgumentError, message do
293
+ assertRaiseKindOf TypeError, message do
294
294
  assertDescendent klass, descendent, message
295
295
  end
296
296
  end
@@ -333,7 +333,7 @@ module AssertionsTests
333
333
  # Class to be asserted
334
334
  #
335
335
  def assertNotDescendentInvalidTest klass, descendent
336
- assertRaiseKindOf ArgumentError do
336
+ assertRaiseKindOf TypeError do
337
337
  assertNotDescendent klass, descendent
338
338
  end
339
339
  end
@@ -385,7 +385,7 @@ module AssertionsTests
385
385
  # The assertion message
386
386
  #
387
387
  def assertNotDescendentWithMessageInvalidTest klass, descendent, message
388
- assertRaiseKindOf ArgumentError, message do
388
+ assertRaiseKindOf TypeError, message do
389
389
  assertNotDescendent klass, descendent, message
390
390
  end
391
391
  end
@@ -10,200 +10,608 @@ module AssertionsTests
10
10
  class TC_Comparisons < AssertionsTestCase
11
11
  include ComparisonsData
12
12
 
13
+ ##
14
+ # Test assertEqualTest
15
+ #
16
+ # expected::
17
+ # The expected value
18
+ #
19
+ # value::
20
+ # Value to assert
21
+ #
13
22
  def assertEqualTest expected, value
14
23
  assertEqual expected, value
15
24
  end
16
25
 
26
+ ##
27
+ # Test assertEqualFailTest
28
+ #
29
+ # expected::
30
+ # The expected value
31
+ #
32
+ # value::
33
+ # Value to assert
34
+ #
17
35
  def assertEqualFailTest expected, value
18
36
  rescue_assertion ASSERT_EQUAL_ERROR do
19
37
  assertEqual expected, value
20
38
  end
21
39
  end
22
40
 
41
+ ##
42
+ # Test assertEqualWithMessageTest
43
+ #
44
+ # expected::
45
+ # The expected value
46
+ #
47
+ # value::
48
+ # Value to assert
49
+ #
50
+ # message::
51
+ # The assertion message
52
+ #
23
53
  def assertEqualWithMessageTest expected, value, message
24
54
  assertEqual expected, value, message
25
55
  end
26
56
 
57
+ ##
58
+ # Test assertEqualWithMessageFailTest
59
+ #
60
+ # expected::
61
+ # The expected value
62
+ #
63
+ # value::
64
+ # Value to assert
65
+ #
66
+ # message::
67
+ # The assertion message
68
+ #
27
69
  def assertEqualWithMessageFailTest expected, value, message
28
70
  rescue_assertion ASSERT_EQUAL_ERROR, message do
29
71
  assertEqual expected, value, message
30
72
  end
31
73
  end
32
74
 
75
+ ##
76
+ # Test assertNotEqualTest
77
+ #
78
+ # expected::
79
+ # The expected value
80
+ #
81
+ # value::
82
+ # Value to assert
83
+ #
33
84
  def assertNotEqualTest expected, value
34
85
  assertNotEqual expected, value
35
86
  end
36
87
 
88
+ ##
89
+ # Test assertNotEqualFailTest
90
+ #
91
+ # expected::
92
+ # The expected value
93
+ #
94
+ # value::
95
+ # Value to assert
96
+ #
37
97
  def assertNotEqualFailTest expected, value
38
98
  rescue_assertion ASSERT_NOT_EQUAL_ERROR do
39
99
  assertNotEqual expected, value
40
100
  end
41
101
  end
42
102
 
103
+ ##
104
+ # Test assertNotEqualWithMessageTest
105
+ #
106
+ # expected::
107
+ # The expected value
108
+ #
109
+ # value::
110
+ # Value to assert
111
+ #
112
+ # message::
113
+ # The assertion message
114
+ #
43
115
  def assertNotEqualWithMessageTest expected, value, message
44
116
  assertNotEqual expected, value, message
45
117
  end
46
118
 
119
+ ##
120
+ # Test assertNotEqualWithMessageFailTest
121
+ #
122
+ # expected::
123
+ # The expected value
124
+ #
125
+ # value::
126
+ # Value to assert
127
+ #
128
+ # message::
129
+ # The assertion message
130
+ #
47
131
  def assertNotEqualWithMessageFailTest expected, value, message
48
132
  rescue_assertion ASSERT_NOT_EQUAL_ERROR, message do
49
133
  assertNotEqual expected, value, message
50
134
  end
51
135
  end
52
136
 
137
+ ##
138
+ # Test assertGreaterThanTest
139
+ #
140
+ # greater::
141
+ # The greater value
142
+ #
143
+ # value::
144
+ # Value to assert
145
+ #
53
146
  def assertGreaterThanTest greater, value
54
147
  assertGreaterThan greater, value
55
148
  end
56
149
 
150
+ ##
151
+ # Test assertGreaterThanFailTest
152
+ #
153
+ # greater::
154
+ # The greater value
155
+ #
156
+ # value::
157
+ # Value to assert
158
+ #
57
159
  def assertGreaterThanFailTest greater, value
58
160
  rescue_assertion ASSERT_GREATERTHAN_ERROR do
59
161
  assertGreaterThan greater, value
60
162
  end
61
163
  end
62
164
 
165
+ ##
166
+ # Test assertGreaterThanWithMessageTest
167
+ #
168
+ # greater::
169
+ # The greater value
170
+ #
171
+ # value::
172
+ # Value to assert
173
+ #
174
+ # message::
175
+ # The assertion message
176
+ #
63
177
  def assertGreaterThanWithMessageTest greater, value, message
64
178
  assertGreaterThan greater, value, message
65
179
  end
66
180
 
181
+ ##
182
+ # Test assertGreaterThanWithMessageFailTest
183
+ #
184
+ # greater::
185
+ # The greater value
186
+ #
187
+ # value::
188
+ # Value to assert
189
+ #
190
+ # message::
191
+ # The assertion message
192
+ #
67
193
  def assertGreaterThanWithMessageFailTest greater, value, message
68
194
  rescue_assertion ASSERT_GREATERTHAN_ERROR, message do
69
195
  assertGreaterThan greater, value, message
70
196
  end
71
197
  end
72
198
 
199
+ ##
200
+ # Test assertGreaterThanOrEqualTest
201
+ #
202
+ # greater::
203
+ # The greater value
204
+ #
205
+ # value::
206
+ # Value to assert
207
+ #
73
208
  def assertGreaterThanOrEqualTest greater, value
74
209
  assertGreaterThanOrEqual greater, value
75
210
  end
76
211
 
212
+ ##
213
+ # Test assertGreaterThanOrEqualFailTest
214
+ #
215
+ # greater::
216
+ # The greater value
217
+ #
218
+ # value::
219
+ # Value to assert
220
+ #
77
221
  def assertGreaterThanOrEqualFailTest greater, value
78
222
  rescue_assertion ASSERT_GREATERTHANOREQUAL_ERROR do
79
223
  assertGreaterThanOrEqual greater, value
80
224
  end
81
225
  end
82
226
 
227
+ ##
228
+ # Test assertGreaterThanOrEqualWithMessageTest
229
+ #
230
+ # greater::
231
+ # The greater value
232
+ #
233
+ # value::
234
+ # Value to assert
235
+ #
236
+ # message::
237
+ # The assertion message
238
+ #
83
239
  def assertGreaterThanOrEqualWithMessageTest greater, value, message
84
240
  assertGreaterThanOrEqual greater, value, message
85
241
  end
86
242
 
243
+ ##
244
+ # Test assertGreaterThanOrEqualWithMessageFailTest
245
+ #
246
+ # greater::
247
+ # The greater value
248
+ #
249
+ # value::
250
+ # Value to assert
251
+ #
252
+ # message::
253
+ # The assertion message
254
+ #
87
255
  def assertGreaterThanOrEqualWithMessageFailTest greater, value, message
88
256
  rescue_assertion ASSERT_GREATERTHANOREQUAL_ERROR, message do
89
257
  assertGreaterThanOrEqual greater, value, message
90
258
  end
91
259
  end
92
260
 
93
- def assertLessThanTest less, value
94
- assertLessThan less, value
95
- end
96
-
97
- def assertLessThanFailTest less, value
261
+ ##
262
+ # Test assertLessThanTest
263
+ #
264
+ # lesser::
265
+ # The lesser value
266
+ #
267
+ # value::
268
+ # Value to assert
269
+ #
270
+ def assertLessThanTest lesser, value
271
+ assertLessThan lesser, value
272
+ end
273
+
274
+ ##
275
+ # Test assertLessThanFailTest
276
+ #
277
+ # lesser::
278
+ # The lesser value
279
+ #
280
+ # value::
281
+ # Value to assert
282
+ #
283
+ def assertLessThanFailTest lesser, value
98
284
  rescue_assertion ASSERT_LESSTHAN_ERROR do
99
- assertLessThan less, value
285
+ assertLessThan lesser, value
100
286
  end
101
287
  end
102
288
 
103
- def assertLessThanWithMessageTest less, value, message
104
- assertLessThan less, value, message
105
- end
106
-
107
- def assertLessThanWithMessageFailTest less, value, message
289
+ ##
290
+ # Test assertLessThanWithMessageTest
291
+ #
292
+ # lesser::
293
+ # The lesser value
294
+ #
295
+ # value::
296
+ # Value to assert
297
+ #
298
+ # message::
299
+ # The assertion message
300
+ #
301
+ def assertLessThanWithMessageTest lesser, value, message
302
+ assertLessThan lesser, value, message
303
+ end
304
+
305
+ ##
306
+ # Test assertLessThanWithMessageFailTest
307
+ #
308
+ # lesser::
309
+ # The lesser value
310
+ #
311
+ # value::
312
+ # Value to assert
313
+ #
314
+ # message::
315
+ # The assertion message
316
+ #
317
+ def assertLessThanWithMessageFailTest lesser, value, message
108
318
  rescue_assertion ASSERT_LESSTHAN_ERROR, message do
109
- assertLessThan less, value, message
319
+ assertLessThan lesser, value, message
110
320
  end
111
321
  end
112
322
 
113
- def assertLessThanOrEqualTest less, value
114
- assertLessThanOrEqual less, value
115
- end
116
-
117
- def assertLessThanOrEqualFailTest less, value
323
+ ##
324
+ # Test assertLessThanOrEqualTest
325
+ #
326
+ # lesser::
327
+ # The lesser value
328
+ #
329
+ # value::
330
+ # Value to assert
331
+ #
332
+ def assertLessThanOrEqualTest lesser, value
333
+ assertLessThanOrEqual lesser, value
334
+ end
335
+
336
+ ##
337
+ # Test assertLessThanOrEqualFailTest
338
+ #
339
+ # lesser::
340
+ # The lesser value
341
+ #
342
+ # value::
343
+ # Value to assert
344
+ #
345
+ def assertLessThanOrEqualFailTest lesser, value
118
346
  rescue_assertion ASSERT_LESSTHANOREQUAL_ERROR do
119
- assertLessThanOrEqual less, value
347
+ assertLessThanOrEqual lesser, value
120
348
  end
121
349
  end
122
350
 
123
- def assertLessThanOrEqualWithMessageTest less, value, message
124
- assertLessThanOrEqual less, value, message
125
- end
126
-
127
- def assertLessThanOrEqualWithMessageFailTest less, value, message
351
+ ##
352
+ # Test assertLessThanOrEqualWithMessageTest
353
+ #
354
+ # lesser::
355
+ # The lesser value
356
+ #
357
+ # value::
358
+ # Value to assert
359
+ #
360
+ # message::
361
+ # The assertion message
362
+ #
363
+ def assertLessThanOrEqualWithMessageTest lesser, value, message
364
+ assertLessThanOrEqual lesser, value, message
365
+ end
366
+
367
+ ##
368
+ # Test assertLessThanOrEqualWithMessageFailTest
369
+ #
370
+ # lesser::
371
+ # The lesser value
372
+ #
373
+ # value::
374
+ # Value to assert
375
+ #
376
+ # message::
377
+ # The assertion message
378
+ #
379
+ def assertLessThanOrEqualWithMessageFailTest lesser, value, message
128
380
  rescue_assertion ASSERT_LESSTHANOREQUAL_ERROR, message do
129
- assertLessThanOrEqual less, value, message
381
+ assertLessThanOrEqual lesser, value, message
130
382
  end
131
383
  end
132
384
 
385
+ ##
386
+ # Test assertMatchTest
387
+ #
388
+ # pattern::
389
+ # The pattern to check against
390
+ #
391
+ # value::
392
+ # Value to assert
393
+ #
133
394
  def assertMatchTest pattern, value
134
395
  assertMatch pattern, value
135
396
  end
136
397
 
398
+ ##
399
+ # Test assertMatchFailTest
400
+ #
401
+ # pattern::
402
+ # The pattern to check against
403
+ #
404
+ # value::
405
+ # Value to assert
406
+ #
137
407
  def assertMatchFailTest pattern, value
138
408
  rescue_assertion ASSERT_MATCH_ERROR do
139
409
  assertMatch pattern, value
140
410
  end
141
411
  end
142
412
 
413
+ ##
414
+ # Test assertMatchWithMessageTest
415
+ #
416
+ # pattern::
417
+ # The pattern to check against
418
+ #
419
+ # value::
420
+ # Value to assert
421
+ #
422
+ # message::
423
+ # The assertion message
424
+ #
143
425
  def assertMatchWithMessageTest pattern, value, message
144
426
  assertMatch pattern, value, message
145
427
  end
146
428
 
429
+ ##
430
+ # Test assertMatchWithMessageFailTest
431
+ #
432
+ # pattern::
433
+ # The pattern to check against
434
+ #
435
+ # value::
436
+ # Value to assert
437
+ #
438
+ # message::
439
+ # The assertion message
440
+ #
147
441
  def assertMatchWithMessageFailTest pattern, value, message
148
442
  rescue_assertion ASSERT_MATCH_ERROR, message do
149
443
  assertMatch pattern, value, message
150
444
  end
151
445
  end
152
446
 
447
+ ##
448
+ # Test assertNotMatchTest
449
+ #
450
+ # pattern::
451
+ # The pattern to check against
452
+ #
453
+ # value::
454
+ # Value to assert
455
+ #
153
456
  def assertNotMatchTest pattern, value
154
457
  assertNotMatch pattern, value
155
458
  end
156
459
 
460
+ ##
461
+ # Test assertNotMatchFailTest
462
+ #
463
+ # pattern::
464
+ # The pattern to check against
465
+ #
466
+ # value::
467
+ # Value to assert
468
+ #
157
469
  def assertNotMatchFailTest pattern, value
158
470
  rescue_assertion ASSERT_NOT_MATCH_ERROR do
159
471
  assertNotMatch pattern, value
160
472
  end
161
473
  end
162
474
 
475
+ ##
476
+ # Test assertNotMatchWithMessageTest
477
+ #
478
+ # pattern::
479
+ # The pattern to check against
480
+ #
481
+ # value::
482
+ # Value to assert
483
+ #
484
+ # message::
485
+ # The assertion message
486
+ #
163
487
  def assertNotMatchWithMessageTest pattern, value, message
164
488
  assertNotMatch pattern, value, message
165
489
  end
166
490
 
491
+ ##
492
+ # Test assertNotMatchWithMessageFailTest
493
+ #
494
+ # pattern::
495
+ # The pattern to check against
496
+ #
497
+ # value::
498
+ # Value to assert
499
+ #
500
+ # message::
501
+ # The assertion message
502
+ #
167
503
  def assertNotMatchWithMessageFailTest pattern, value, message
168
504
  rescue_assertion ASSERT_NOT_MATCH_ERROR, message do
169
505
  assertNotMatch pattern, value, message
170
506
  end
171
507
  end
172
508
 
509
+ ##
510
+ # Test assertSameTest
511
+ #
512
+ # object::
513
+ # The object to check
514
+ #
173
515
  def assertSameTest object
174
516
  assertSame object, object
175
517
  end
176
518
 
519
+ ##
520
+ # Test assertSameFailTest
521
+ #
522
+ # expected::
523
+ # The expected object to check against
524
+ #
525
+ # object::
526
+ # The object to check
527
+ #
177
528
  def assertSameFailTest expected, object
178
529
  rescue_assertion ASSERT_SAME_ERROR do
179
530
  assertSame expected, object
180
531
  end
181
532
  end
182
533
 
534
+ ##
535
+ # Test assertSameWithMessageTest
536
+ #
537
+ # object::
538
+ # The object to check
539
+ #
540
+ # message::
541
+ # The assertion message
542
+ #
183
543
  def assertSameWithMessageTest object, message
184
544
  assertSame object, object, message
185
545
  end
186
546
 
547
+ ##
548
+ # Test assertSameWithMessageFailTest
549
+ #
550
+ # expected::
551
+ # The expected object to check against
552
+ #
553
+ # object::
554
+ # The object to check
555
+ #
556
+ # message::
557
+ # The assertion message
558
+ #
187
559
  def assertSameWithMessageFailTest expected, object, message
188
560
  rescue_assertion ASSERT_SAME_ERROR, message do
189
561
  assertSame expected, object, message
190
562
  end
191
563
  end
192
564
 
565
+ ##
566
+ # Test assertNotSameTest
567
+ #
568
+ # expected::
569
+ # The expected object to check against
570
+ #
571
+ # object::
572
+ # The object to check
573
+ #
193
574
  def assertNotSameTest expected, object
194
575
  assertNotSame expected, object
195
576
  end
196
577
 
578
+ ##
579
+ # Test assertNotSameFailTest
580
+ #
581
+ # object::
582
+ # The object to check
583
+ #
197
584
  def assertNotSameFailTest object
198
585
  rescue_assertion ASSERT_NOT_SAME_ERROR do
199
586
  assertNotSame object, object
200
587
  end
201
588
  end
202
589
 
590
+ ##
591
+ # Test assertNotSameWithMessageTest
592
+ #
593
+ # expected::
594
+ # The expected object to check against
595
+ #
596
+ # object::
597
+ # The object to check
598
+ #
599
+ # message::
600
+ # The assertion message
601
+ #
203
602
  def assertNotSameWithMessageTest expected, object, message
204
603
  assertNotSame expected, object, message
205
604
  end
206
605
 
606
+ ##
607
+ # Test assertNotSameWithMessageFailTest
608
+ #
609
+ # object::
610
+ # The object to check
611
+ #
612
+ # message::
613
+ # The assertion message
614
+ #
207
615
  def assertNotSameWithMessageFailTest object, message
208
616
  rescue_assertion ASSERT_NOT_SAME_ERROR, message do
209
617
  assertNotSame object, object, message
@@ -1,13 +1,138 @@
1
1
  require 'RubyUnit/Assertions'
2
2
 
3
- # Data provider for RubyUnit::TestCase tests
3
+ # Data provider for RubyUnit::Assertions Exceptions tests
4
4
  require_relative 'data/Exceptions'
5
5
 
6
+ # Fixture for Exceptions tests
7
+ require_relative 'fixture/Exceptions'
8
+
6
9
  module AssertionsTests
7
- #
10
+ ##
8
11
  # Test Case for RubyUnit::Assertions Exceptions assertions
9
12
  #
10
13
  class TC_Exceptions < AssertionsTestCase
11
14
  include ExceptionsData
15
+
16
+ def assertNothingRaisedTest block_data
17
+ assertNothingRaised do
18
+ block_data
19
+ end
20
+ end
21
+
22
+ def assertNothingRaisedFailTest
23
+ rescue_assertion /#{ASSERT_NOTHING_RAISED_ERROR}/ do
24
+ assertNothingRaised do
25
+ raise
26
+ end
27
+ end
28
+ end
29
+
30
+ def assertNothingRaisedWithMessageTest block_data, message
31
+ assertNothingRaised message do
32
+ block_data
33
+ end
34
+ end
35
+
36
+ def assertNothingRaisedWithMessageFailTest message
37
+ rescue_assertion /#{ASSERT_NOTHING_RAISED_ERROR}/, message do
38
+ assertNothingRaised message do
39
+ raise
40
+ end
41
+ end
42
+ end
43
+
44
+ def assertRaiseMessageTest pattern, exception, error
45
+ assertRaiseMessage pattern do
46
+ raise exception, error
47
+ end
48
+ end
49
+
50
+ def assertRaiseMessageFailTest pattern, exception
51
+ rescue_assertion /#{ASSERT_RAISE_MESSAGE_ERROR}/ do
52
+ assertRaiseMessage pattern do
53
+ raise exception
54
+ end
55
+ end
56
+ end
57
+
58
+ def assertRaiseMessageInvalidTest pattern
59
+ assertRaiseKindOf TypeError do
60
+ assertRaiseMessage pattern do
61
+ raise
62
+ end
63
+ end
64
+ end
65
+
66
+ def assertRaiseMessageWithMessageTest pattern, exception, error, message
67
+ assertRaiseMessage pattern, message do
68
+ raise exception, error
69
+ end
70
+ end
71
+
72
+ def assertRaiseMessageWithMessageFailTest pattern, exception, message
73
+ rescue_assertion /#{ASSERT_RAISE_MESSAGE_ERROR}/, message do
74
+ assertRaiseMessage pattern, message do
75
+ raise exception
76
+ end
77
+ end
78
+ end
79
+
80
+ def assertRaiseMessageWithMessageInvalidTest pattern, message
81
+ assertRaiseKindOf TypeError do
82
+ assertRaiseMessage pattern, message do
83
+ raise
84
+ end
85
+ end
86
+ end
87
+
88
+ def assertRaiseKindOfTest exception
89
+ assertRaiseKindOf exception do
90
+ raise exception
91
+ end
92
+ end
93
+
94
+ def assertRaiseKindOfFailTest exception
95
+ rescue_assertion /#{ASSERT_RAISE_KIND_OF_ERROR}/ do
96
+ assertRaiseKindOf AssertionsTestsError do
97
+ raise exception
98
+ end
99
+ end
100
+ end
101
+
102
+ def assertRaiseKindOfInvalidTest exception
103
+ assertRaiseKindOf TypeError do
104
+ assertRaiseKindOf exception do
105
+ raise
106
+ end
107
+ end
108
+ end
109
+
110
+ def assertRaiseKindOfWithMessageTest exception, message
111
+ assertRaiseKindOf exception, message do
112
+ raise exception
113
+ end
114
+ end
115
+
116
+ def assertRaiseKindOfWithMessageFailTest exception, message
117
+ rescue_assertion /#{ASSERT_RAISE_KIND_OF_ERROR}/, message do
118
+ assertRaiseKindOf AssertionsTestsError, message do
119
+ raise exception
120
+ end
121
+ end
122
+ end
123
+
124
+ def assertRaiseKindOfWithMessageInvalidTest exception, message
125
+ assertRaiseKindOf TypeError do
126
+ assertRaiseKindOf exception, message do
127
+ raise
128
+ end
129
+ end
130
+ end
131
+
132
+ def assertRaiseExpectedTest pattern, exception, error
133
+ assertRaisedExpected exception, pattern do
134
+ raise exception, error
135
+ end
136
+ end
12
137
  end
13
138
  end
@@ -1,7 +1,7 @@
1
1
  require_relative 'ObjectTypes'
2
2
 
3
3
  module AssertionsTests
4
- #
4
+ ##
5
5
  # Data provider for RubyUnit::Assertions Comparisons assertions
6
6
  #
7
7
  module ComparisonsData
@@ -1,7 +1,108 @@
1
+ require_relative 'ObjectTypes'
2
+
1
3
  module AssertionsTests
2
- #
4
+ ##
3
5
  # Data provider for RubyUnit::Assertions Exceptions assertions
4
6
  #
5
7
  module ExceptionsData
8
+ include ObjectTypes
9
+
10
+ def assertNothingRaisedData
11
+ non_classes + classObjects
12
+ end
13
+
14
+ def assertNothingRaisedWithMessageData
15
+ add_parameter assertNothingRaisedData
16
+ end
17
+
18
+ def assertNothingRaisedWithMessageFailData
19
+ MESSAGE
20
+ end
21
+
22
+ def assertRaiseMessageData
23
+ [
24
+ [ /^Message/, Exception, 'Message raised'],
25
+ [ / raised$/, StandardError, 'Message raised'],
26
+ ['Message raised', ArgumentError, 'Message raised'],
27
+ ]
28
+ end
29
+ alias_method :assertRaiseExpectedData, :assertRaiseMessageData
30
+
31
+ def assertRaiseMessageInvalidData
32
+ exceptionObjects +
33
+ nilObjects +
34
+ trueObjects +
35
+ falseObjects +
36
+ fixnumObjects +
37
+ bignumObjects +
38
+ floatObjects +
39
+ rationalObjects +
40
+ complexObjects +
41
+ timeObjects +
42
+ rangeObjects +
43
+ arrayObjects +
44
+ hashObjects
45
+ end
46
+
47
+ def assertRaiseMessageFailData
48
+ [
49
+ [ /Message$/, Exception],
50
+ [ /No Match/, StandardError],
51
+ [ 'Message', ArgumentError],
52
+ [ 'No Match', TypeError],
53
+ ]
54
+ end
55
+
56
+ def assertRaiseMessageWithMessageData
57
+ add_parameter assertRaiseMessageData
58
+ end
59
+
60
+ def assertRaiseMessageWithMessageFailData
61
+ add_parameter assertRaiseMessageFailData
62
+ end
63
+
64
+ def assertRaiseMessageWithMessageInvalidData
65
+ add_parameter assertRaiseMessageInvalidData
66
+ end
67
+
68
+ def assertRaiseKindOfData
69
+ exceptionObjects
70
+ end
71
+ alias_method :assertRaiseKindOfFailData, :assertRaiseKindOfData
72
+
73
+ def assertRaiseKindOfInvalidData
74
+ nilObjects +
75
+ trueObjects +
76
+ falseObjects +
77
+ fixnumObjects +
78
+ bignumObjects +
79
+ floatObjects +
80
+ rationalObjects +
81
+ complexObjects +
82
+ timeObjects +
83
+ stringObjects +
84
+ rangeObjects +
85
+ regexpObjects +
86
+ arrayObjects +
87
+ hashObjects
88
+ end
89
+
90
+ def assertRaiseKindOfWithMessageData
91
+ add_parameter assertRaiseKindOfData
92
+ end
93
+
94
+ def assertRaiseKindOfWithMessageFailData
95
+ add_parameter assertRaiseKindOfFailData
96
+ end
97
+
98
+ def assertRaiseKindOfWithMessageInvalidData
99
+ add_parameter assertRaiseKindOfInvalidData
100
+ end
101
+
102
+ def assertRaiseExpectedData
103
+ [
104
+
105
+ ]
106
+ end
6
107
  end
7
108
  end
@@ -56,6 +56,15 @@ module AssertionsTests
56
56
  [ Range],
57
57
  [ Array],
58
58
  [ Hash],
59
+ ] +
60
+ exceptionObjects
61
+ end
62
+
63
+ def exceptionObjects
64
+ [
65
+ [ Exception],
66
+ [StandardError],
67
+ [ArgumentError],
59
68
  ]
60
69
  end
61
70
 
@@ -0,0 +1,4 @@
1
+ module AssertionsTests
2
+ class AssertionsTestsError < Exception
3
+ end
4
+ end
@@ -35,7 +35,7 @@ module RubyUnitTests
35
35
  #
36
36
  def invalidDebugModeTest mode
37
37
  old_mode = RubyUnit.debug
38
- assertRaiseExpected ArgumentError, RubyUnit::INVALID_DEBUG_MODE, RubyUnit::INVALID_DEBUG_MODE do
38
+ assertRaiseExpected TypeError, RubyUnit::INVALID_DEBUG_MODE, RubyUnit::INVALID_DEBUG_MODE do
39
39
  RubyUnit.debug = mode
40
40
  end
41
41
  assertEqual old_mode, RubyUnit.debug, 'Invalid debug mode should not change debug mode'
@@ -36,9 +36,7 @@ module AssertionsTests
36
36
  # Wrapper to rescue assertions
37
37
  #
38
38
  def rescue_assertion pattern = '', message = nil, data = {}, &block
39
- failure = assertRaiseExpected RubyUnit::AssertionFailure, pattern, message do
40
- yield
41
- end
39
+ failure = assertRaiseExpected RubyUnit::AssertionFailure, pattern, message, &block
42
40
  info = failure.info
43
41
  assertMatch /#{message}/, info, 'Assertion failure message mismatch'
44
42
  data.each do |key, value|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubyunit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.19
4
+ version: 0.3.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Clower
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-24 00:00:00.000000000 Z
11
+ date: 2014-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -76,6 +76,7 @@ files:
76
76
  - tests/Assertions/data/Exceptions.rb
77
77
  - tests/Assertions/data/Methods.rb
78
78
  - tests/Assertions/data/ObjectTypes.rb
79
+ - tests/Assertions/fixture/Exceptions.rb
79
80
  - tests/IncompleteTest/TC_IncompleteTest.rb
80
81
  - tests/RubyUnit/TC_GemInfo.rb
81
82
  - tests/RubyUnit/TC_RubyUnit.rb