dirty_hashy 0.1.3 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -20,29 +20,29 @@ module Unit
20
20
 
21
21
  assert_equal true, hashy.dirty?
22
22
  assert_equal true, hashy.changed?
23
- assert_equal true, hashy.changed?(:name)
23
+ assert_equal false, hashy.changed?(:name)
24
24
  assert_equal true, hashy.changed?("name")
25
- assert_equal [nil, "Paul"], hashy.change(:name)
25
+ assert_equal nil, hashy.change(:name)
26
26
  assert_equal [nil, "Paul"], hashy.change("name")
27
27
  assert_equal({"name" => [nil, "Paul"]}, hashy.changes)
28
28
 
29
29
  hashy[:name] = nil
30
30
 
31
- assert_equal false, hashy.dirty?
32
- assert_equal false, hashy.changed?
31
+ assert_equal true, hashy.dirty?
32
+ assert_equal true, hashy.changed?
33
33
  assert_equal false, hashy.changed?(:name)
34
- assert_equal false, hashy.changed?("name")
34
+ assert_equal true, hashy.changed?("name")
35
35
  assert_equal nil, hashy.change(:name)
36
- assert_equal nil, hashy.change("name")
37
- assert_equal({}, hashy.changes)
36
+ assert_equal [nil, "Paul"], hashy.change("name")
37
+ assert_equal({"name" => [nil, "Paul"]}, hashy.changes)
38
38
 
39
39
  hashy["name"] = "Stephan"
40
40
 
41
41
  assert_equal true, hashy.dirty?
42
42
  assert_equal true, hashy.changed?
43
- assert_equal true, hashy.changed?(:name)
43
+ assert_equal false, hashy.changed?(:name)
44
44
  assert_equal true, hashy.changed?("name")
45
- assert_equal [nil, "Stephan"], hashy.change(:name)
45
+ assert_equal nil, hashy.change(:name)
46
46
  assert_equal [nil, "Stephan"], hashy.change("name")
47
47
  assert_equal({"name" => [nil, "Stephan"]}, hashy.changes)
48
48
 
@@ -60,9 +60,9 @@ module Unit
60
60
 
61
61
  assert_equal true, hashy.dirty?
62
62
  assert_equal true, hashy.changed?
63
- assert_equal true, hashy.changed?(:name)
63
+ assert_equal false, hashy.changed?(:name)
64
64
  assert_equal true, hashy.changed?("name")
65
- assert_equal ["Stephan", "Chris"], hashy.change(:name)
65
+ assert_equal nil, hashy.change(:name)
66
66
  assert_equal ["Stephan", "Chris"], hashy.change("name")
67
67
  assert_equal({"name" => ["Stephan", "Chris"]}, hashy.changes)
68
68
 
@@ -76,15 +76,15 @@ module Unit
76
76
  assert_equal nil, hashy.change("name")
77
77
  assert_equal({}, hashy.changes)
78
78
 
79
- hashy["name"] = "Paul"
79
+ hashy[:name] = "Paul"
80
80
 
81
81
  assert_equal true, hashy.dirty?
82
82
  assert_equal true, hashy.changed?
83
83
  assert_equal true, hashy.changed?(:name)
84
- assert_equal true, hashy.changed?("name")
85
- assert_equal ["Stephan", "Paul"], hashy.change(:name)
86
- assert_equal ["Stephan", "Paul"], hashy.change("name")
87
- assert_equal({"name" => ["Stephan", "Paul"]}, hashy.changes)
84
+ assert_equal false, hashy.changed?("name")
85
+ assert_equal [nil, "Paul"], hashy.change(:name)
86
+ assert_equal nil, hashy.change("name")
87
+ assert_equal({:name => [nil, "Paul"]}, hashy.changes)
88
88
 
89
89
  hashy["name"] = "Tim"
90
90
 
@@ -92,9 +92,9 @@ module Unit
92
92
  assert_equal true, hashy.changed?
93
93
  assert_equal true, hashy.changed?(:name)
94
94
  assert_equal true, hashy.changed?("name")
95
- assert_equal ["Stephan", "Tim"], hashy.change(:name)
95
+ assert_equal [nil, "Paul"], hashy.change(:name)
96
96
  assert_equal ["Stephan", "Tim"], hashy.change("name")
97
- assert_equal({"name" => ["Stephan", "Tim"]}, hashy.changes)
97
+ assert_equal({:name => [nil, "Paul"], "name" => ["Stephan", "Tim"]}, hashy.changes)
98
98
 
99
99
  hashy["company"] = "Holder"
100
100
 
@@ -102,19 +102,19 @@ module Unit
102
102
  assert_equal true, hashy.changed?
103
103
  assert_equal true, hashy.changed?(:name)
104
104
  assert_equal true, hashy.changed?("name")
105
- assert_equal true, hashy.changed?(:company)
105
+ assert_equal false, hashy.changed?(:company)
106
106
  assert_equal true, hashy.changed?("company")
107
- assert_equal ["Stephan", "Tim"], hashy.change(:name)
107
+ assert_equal [nil, "Paul"], hashy.change(:name)
108
108
  assert_equal ["Stephan", "Tim"], hashy.change("name")
109
- assert_equal [nil, "Holder"], hashy.change(:company)
109
+ assert_equal nil, hashy.change(:company)
110
110
  assert_equal [nil, "Holder"], hashy.change("company")
111
- assert_equal({"name" => ["Stephan", "Tim"], "company" => [nil, "Holder"]}, hashy.changes)
111
+ assert_equal({:name => [nil, "Paul"], "name" => ["Stephan", "Tim"], "company" => [nil, "Holder"]}, hashy.changes)
112
112
 
113
113
  hashy["city"] = "Amsterdam"
114
- assert_equal({"name" => ["Stephan", "Tim"], "company" => [nil, "Holder"], "city" => [nil, "Amsterdam"]}, hashy.changes)
114
+ assert_equal({:name => [nil, "Paul"], "name" => ["Stephan", "Tim"], "company" => [nil, "Holder"], "city" => [nil, "Amsterdam"]}, hashy.changes)
115
115
 
116
- hashy.delete :city
117
- assert_equal({"name" => ["Stephan", "Tim"], "company" => [nil, "Holder"]}, hashy.changes)
116
+ hashy.delete "city"
117
+ assert_equal({:name => [nil, "Paul"], "name" => ["Stephan", "Tim"], "company" => [nil, "Holder"]}, hashy.changes)
118
118
 
119
119
  hashy.clean_up!
120
120
 
@@ -128,36 +128,36 @@ module Unit
128
128
  assert_equal nil, hashy.change("company")
129
129
  assert_equal({}, hashy.changes)
130
130
 
131
- hashy.delete :company
131
+ hashy.delete "company"
132
132
 
133
133
  assert_equal true, hashy.dirty?
134
134
  assert_equal true, hashy.changed?
135
- assert_equal true, hashy.changed?(:company)
135
+ assert_equal false, hashy.changed?(:company)
136
136
  assert_equal true, hashy.changed?("company")
137
- assert_equal "Holder", hashy.was(:company)
137
+ assert_equal nil, hashy.was(:company)
138
138
  assert_equal "Holder", hashy.was("company")
139
- assert_equal ["Holder", nil], hashy.change(:company)
139
+ assert_equal nil, hashy.change(:company)
140
140
  assert_equal ["Holder", nil], hashy.change("company")
141
141
 
142
- hashy.merge! :name => "Paul", :company => "Internetbureau Holder B.V."
142
+ hashy.merge! :name => "Anna", :company => "Internetbureau Holder B.V."
143
143
 
144
144
  assert_equal true, hashy.dirty?
145
145
  assert_equal true, hashy.changed?
146
146
  assert_equal true, hashy.changed?(:name)
147
- assert_equal true, hashy.changed?("name")
147
+ assert_equal false, hashy.changed?("name")
148
148
  assert_equal true, hashy.changed?(:company)
149
149
  assert_equal true, hashy.changed?("company")
150
- assert_equal ["Tim", "Paul"], hashy.change(:name)
151
- assert_equal ["Tim", "Paul"], hashy.change("name")
152
- assert_equal ["Holder", "Internetbureau Holder B.V."], hashy.change(:company)
153
- assert_equal ["Holder", "Internetbureau Holder B.V."], hashy.change("company")
154
- assert_equal({"name" => ["Tim", "Paul"], "company" => ["Holder", "Internetbureau Holder B.V."]}, hashy.changes)
150
+ assert_equal ["Paul", "Anna"], hashy.change(:name)
151
+ assert_equal nil, hashy.change("name")
152
+ assert_equal [nil, "Internetbureau Holder B.V."], hashy.change(:company)
153
+ assert_equal ["Holder", nil], hashy.change("company")
154
+ assert_equal({:name => ["Paul", "Anna"], :company => [nil, "Internetbureau Holder B.V."], "company" => ["Holder", nil]}, hashy.changes)
155
155
  end
156
156
 
157
157
  it "should behave as expected without method mapping, but with restricted keys" do
158
158
  hashy = DirtyHashy.new({}, false, [:name])
159
159
 
160
- assert_equal({"name" => nil}, hashy)
160
+ assert_equal({:name => nil}, hashy)
161
161
  assert_equal false, hashy.dirty?
162
162
  assert_equal false, hashy.changed?
163
163
  assert_equal({}, hashy.changes)
@@ -166,24 +166,20 @@ module Unit
166
166
  hashy.name = "Paul"
167
167
  end
168
168
 
169
- hashy["name"] = "Paul"
169
+ hashy[:name] = "Paul"
170
170
 
171
171
  assert_equal true, hashy.dirty?
172
172
  assert_equal true, hashy.changed?
173
173
  assert_equal true, hashy.changed?(:name)
174
- assert_equal true, hashy.changed?("name")
175
174
  assert_equal [nil, "Paul"], hashy.change(:name)
176
- assert_equal [nil, "Paul"], hashy.change("name")
177
- assert_equal({"name" => [nil, "Paul"]}, hashy.changes)
175
+ assert_equal({:name => [nil, "Paul"]}, hashy.changes)
178
176
 
179
177
  hashy[:name] = nil
180
178
 
181
179
  assert_equal false, hashy.dirty?
182
180
  assert_equal false, hashy.changed?
183
181
  assert_equal false, hashy.changed?(:name)
184
- assert_equal false, hashy.changed?("name")
185
182
  assert_equal nil, hashy.change(:name)
186
- assert_equal nil, hashy.change("name")
187
183
  assert_equal({}, hashy.changes)
188
184
 
189
185
  hashy[:name] = "Stephan"
@@ -191,61 +187,49 @@ module Unit
191
187
  assert_equal true, hashy.dirty?
192
188
  assert_equal true, hashy.changed?
193
189
  assert_equal true, hashy.changed?(:name)
194
- assert_equal true, hashy.changed?("name")
195
190
  assert_equal [nil, "Stephan"], hashy.change(:name)
196
- assert_equal [nil, "Stephan"], hashy.change("name")
197
- assert_equal({"name" => [nil, "Stephan"]}, hashy.changes)
191
+ assert_equal({:name => [nil, "Stephan"]}, hashy.changes)
198
192
 
199
193
  hashy.clean_up!
200
194
 
201
195
  assert_equal false, hashy.dirty?
202
196
  assert_equal false, hashy.changed?
203
197
  assert_equal false, hashy.changed?(:name)
204
- assert_equal false, hashy.changed?("name")
205
198
  assert_equal nil, hashy.change(:name)
206
- assert_equal nil, hashy.change("name")
207
199
  assert_equal({}, hashy.changes)
208
200
 
209
- hashy["name"] = "Chris"
201
+ hashy[:name] = "Chris"
210
202
 
211
203
  assert_equal true, hashy.dirty?
212
204
  assert_equal true, hashy.changed?
213
205
  assert_equal true, hashy.changed?(:name)
214
- assert_equal true, hashy.changed?("name")
215
- assert_equal "Stephan", hashy.was("name")
206
+ assert_equal "Stephan", hashy.was(:name)
216
207
  assert_equal ["Stephan", "Chris"], hashy.change(:name)
217
- assert_equal ["Stephan", "Chris"], hashy.change("name")
218
- assert_equal({"name" => ["Stephan", "Chris"]}, hashy.changes)
208
+ assert_equal({:name => ["Stephan", "Chris"]}, hashy.changes)
219
209
 
220
- hashy["name"] = "Stephan"
210
+ hashy[:name] = "Stephan"
221
211
 
222
212
  assert_equal false, hashy.dirty?
223
213
  assert_equal false, hashy.changed?
224
214
  assert_equal false, hashy.changed?(:name)
225
- assert_equal false, hashy.changed?("name")
226
215
  assert_equal nil, hashy.change(:name)
227
- assert_equal nil, hashy.change("name")
228
216
  assert_equal({}, hashy.changes)
229
217
 
230
- hashy["name"] = "Paul"
218
+ hashy[:name] = "Paul"
231
219
 
232
220
  assert_equal true, hashy.dirty?
233
221
  assert_equal true, hashy.changed?
234
222
  assert_equal true, hashy.changed?(:name)
235
- assert_equal true, hashy.changed?("name")
236
223
  assert_equal ["Stephan", "Paul"], hashy.change(:name)
237
- assert_equal ["Stephan", "Paul"], hashy.change("name")
238
- assert_equal({"name" => ["Stephan", "Paul"]}, hashy.changes)
224
+ assert_equal({:name => ["Stephan", "Paul"]}, hashy.changes)
239
225
 
240
- hashy["name"] = "Tim"
226
+ hashy[:name] = "Tim"
241
227
 
242
228
  assert_equal true, hashy.dirty?
243
229
  assert_equal true, hashy.changed?
244
230
  assert_equal true, hashy.changed?(:name)
245
- assert_equal true, hashy.changed?("name")
246
231
  assert_equal ["Stephan", "Tim"], hashy.change(:name)
247
- assert_equal ["Stephan", "Tim"], hashy.change("name")
248
- assert_equal({"name" => ["Stephan", "Tim"]}, hashy.changes)
232
+ assert_equal({:name => ["Stephan", "Tim"]}, hashy.changes)
249
233
 
250
234
  hashy.clean_up!
251
235
  hashy.merge! :name => "Paul"
@@ -253,10 +237,16 @@ module Unit
253
237
  assert_equal true, hashy.dirty?
254
238
  assert_equal true, hashy.changed?
255
239
  assert_equal true, hashy.changed?(:name)
256
- assert_equal true, hashy.changed?("name")
257
240
  assert_equal ["Tim", "Paul"], hashy.change(:name)
258
- assert_equal ["Tim", "Paul"], hashy.change("name")
259
- assert_equal({"name" => ["Tim", "Paul"]}, hashy.changes)
241
+ assert_equal({:name => ["Tim", "Paul"]}, hashy.changes)
242
+
243
+ assert_raises(IndexError) do
244
+ hashy["name"] = "Paul"
245
+ end
246
+
247
+ assert_raises(IndexError) do
248
+ hashy.changed? "name"
249
+ end
260
250
 
261
251
  assert_raises(IndexError) do
262
252
  hashy[:company]
@@ -305,9 +295,11 @@ module Unit
305
295
  assert_equal true, hashy.dirty?
306
296
  assert_equal true, hashy.changed?
307
297
  assert_equal true, hashy.name_changed?
308
- assert_equal true, hashy.changed?(:name)
298
+ assert_equal false, hashy.changed?(:name)
299
+ assert_equal true, hashy.changed?("name")
309
300
  assert_equal [nil, "Paul"], hashy.name_change
310
- assert_equal [nil, "Paul"], hashy.change(:name)
301
+ assert_equal nil, hashy.change(:name)
302
+ assert_equal [nil, "Paul"], hashy.change("name")
311
303
  assert_equal({"name" => [nil, "Paul"]}, hashy.changes)
312
304
 
313
305
  hashy.name = nil
@@ -316,8 +308,10 @@ module Unit
316
308
  assert_equal false, hashy.changed?
317
309
  assert_equal false, hashy.name_changed?
318
310
  assert_equal false, hashy.changed?(:name)
311
+ assert_equal false, hashy.changed?("name")
319
312
  assert_equal nil, hashy.name_change
320
313
  assert_equal nil, hashy.change(:name)
314
+ assert_equal nil, hashy.change("name")
321
315
  assert_equal({}, hashy.changes)
322
316
 
323
317
  hashy.name = "Stephan"
@@ -325,9 +319,11 @@ module Unit
325
319
  assert_equal true, hashy.dirty?
326
320
  assert_equal true, hashy.changed?
327
321
  assert_equal true, hashy.name_changed?
328
- assert_equal true, hashy.changed?(:name)
322
+ assert_equal false, hashy.changed?(:name)
323
+ assert_equal true, hashy.changed?("name")
329
324
  assert_equal [nil, "Stephan"], hashy.name_change
330
- assert_equal [nil, "Stephan"], hashy.change(:name)
325
+ assert_equal nil, hashy.change(:name)
326
+ assert_equal [nil, "Stephan"], hashy.change("name")
331
327
  assert_equal({"name" => [nil, "Stephan"]}, hashy.changes)
332
328
 
333
329
  hashy.clean_up!
@@ -336,8 +332,10 @@ module Unit
336
332
  assert_equal false, hashy.changed?
337
333
  assert_equal false, hashy.name_changed?
338
334
  assert_equal false, hashy.changed?(:name)
335
+ assert_equal false, hashy.changed?("name")
339
336
  assert_equal nil, hashy.name_change
340
337
  assert_equal nil, hashy.change(:name)
338
+ assert_equal nil, hashy.change("name")
341
339
  assert_equal({}, hashy.changes)
342
340
 
343
341
  hashy.name = "Chris"
@@ -345,11 +343,14 @@ module Unit
345
343
  assert_equal true, hashy.dirty?
346
344
  assert_equal true, hashy.changed?
347
345
  assert_equal true, hashy.name_changed?
348
- assert_equal true, hashy.changed?(:name)
346
+ assert_equal false, hashy.changed?(:name)
347
+ assert_equal true, hashy.changed?("name")
349
348
  assert_equal "Stephan", hashy.name_was
350
- assert_equal "Stephan", hashy.was(:name)
349
+ assert_equal nil, hashy.was(:name)
350
+ assert_equal "Stephan", hashy.was("name")
351
351
  assert_equal ["Stephan", "Chris"], hashy.name_change
352
- assert_equal ["Stephan", "Chris"], hashy.change(:name)
352
+ assert_equal nil, hashy.change(:name)
353
+ assert_equal ["Stephan", "Chris"], hashy.change("name")
353
354
  assert_equal({"name" => ["Stephan", "Chris"]}, hashy.changes)
354
355
 
355
356
  hashy.name = "Stephan"
@@ -358,35 +359,41 @@ module Unit
358
359
  assert_equal false, hashy.changed?
359
360
  assert_equal false, hashy.name_changed?
360
361
  assert_equal false, hashy.changed?(:name)
362
+ assert_equal false, hashy.changed?("name")
361
363
  assert_equal nil, hashy.name_change
362
364
  assert_equal nil, hashy.change(:name)
365
+ assert_equal nil, hashy.change("name")
363
366
  assert_equal({}, hashy.changes)
364
367
 
365
368
  hashy.name = "Tim"
366
369
  hashy.city = "Amsterdam"
367
370
 
368
371
  assert_equal true, hashy.city_changed?
369
- assert_equal true, hashy.changed?(:city)
372
+ assert_equal false, hashy.changed?(:city)
373
+ assert_equal true, hashy.changed?("city")
370
374
  assert_equal nil, hashy.city_was
371
375
  assert_equal [nil, "Amsterdam"], hashy.city_change
372
376
  assert_equal({"name" => ["Stephan", "Tim"], "city" => [nil, "Amsterdam"]}, hashy.changes)
373
377
 
374
378
  hashy.delete :city
379
+ assert_equal({"name" => ["Stephan", "Tim"], "city" => [nil, "Amsterdam"]}, hashy.changes)
380
+
381
+ hashy.delete "city"
375
382
  assert_equal({"name" => ["Stephan", "Tim"]}, hashy.changes)
376
383
 
377
384
  hashy.merge! :company => "Internetbureau Holder B.V."
378
385
 
379
386
  assert_equal true, hashy.dirty?
380
387
  assert_equal true, hashy.changed?
381
- assert_equal true, hashy.changed?(:name)
388
+ assert_equal false, hashy.changed?(:name)
382
389
  assert_equal true, hashy.changed?("name")
383
390
  assert_equal true, hashy.changed?(:company)
384
- assert_equal true, hashy.changed?("company")
385
- assert_equal ["Stephan", "Tim"], hashy.change(:name)
391
+ assert_equal false, hashy.changed?("company")
392
+ assert_equal nil, hashy.change(:name)
386
393
  assert_equal ["Stephan", "Tim"], hashy.change("name")
387
394
  assert_equal [nil, "Internetbureau Holder B.V."], hashy.change(:company)
388
- assert_equal [nil, "Internetbureau Holder B.V."], hashy.change("company")
389
- assert_equal({"name" => ["Stephan", "Tim"], "company" => [nil, "Internetbureau Holder B.V."]}, hashy.changes)
395
+ assert_equal nil, hashy.change("company")
396
+ assert_equal({"name" => ["Stephan", "Tim"], :company => [nil, "Internetbureau Holder B.V."]}, hashy.changes)
390
397
 
391
398
  hashy.clean_up!
392
399
 
@@ -395,7 +402,7 @@ module Unit
395
402
  end
396
403
 
397
404
  it "should behave as expected with method mapping and with restricted keys" do
398
- hashy = DirtyHashy.new({}, true, [:name])
405
+ hashy = DirtyHashy.new({}, true, [:name]) # NOTE: using method mapping AND restricted keys stringifies the restricted keys
399
406
 
400
407
  assert_equal({"name" => nil}, hashy)
401
408
  assert_equal nil, hashy.name
@@ -409,9 +416,9 @@ module Unit
409
416
  assert_equal true, hashy.dirty?
410
417
  assert_equal true, hashy.changed?
411
418
  assert_equal true, hashy.name_changed?
412
- assert_equal true, hashy.changed?(:name)
419
+ assert_equal true, hashy.changed?("name")
413
420
  assert_equal [nil, "Paul"], hashy.name_change
414
- assert_equal [nil, "Paul"], hashy.change(:name)
421
+ assert_equal [nil, "Paul"], hashy.change("name")
415
422
  assert_equal({"name" => [nil, "Paul"]}, hashy.changes)
416
423
 
417
424
  hashy.name = nil
@@ -419,9 +426,9 @@ module Unit
419
426
  assert_equal false, hashy.dirty?
420
427
  assert_equal false, hashy.changed?
421
428
  assert_equal false, hashy.name_changed?
422
- assert_equal false, hashy.changed?(:name)
429
+ assert_equal false, hashy.changed?("name")
423
430
  assert_equal nil, hashy.name_change
424
- assert_equal nil, hashy.change(:name)
431
+ assert_equal nil, hashy.change("name")
425
432
  assert_equal({}, hashy.changes)
426
433
 
427
434
  hashy.name = "Stephan"
@@ -429,9 +436,9 @@ module Unit
429
436
  assert_equal true, hashy.dirty?
430
437
  assert_equal true, hashy.changed?
431
438
  assert_equal true, hashy.name_changed?
432
- assert_equal true, hashy.changed?(:name)
439
+ assert_equal true, hashy.changed?("name")
433
440
  assert_equal [nil, "Stephan"], hashy.name_change
434
- assert_equal [nil, "Stephan"], hashy.change(:name)
441
+ assert_equal [nil, "Stephan"], hashy.change("name")
435
442
  assert_equal({"name" => [nil, "Stephan"]}, hashy.changes)
436
443
 
437
444
  hashy.clean_up!
@@ -439,9 +446,9 @@ module Unit
439
446
  assert_equal false, hashy.dirty?
440
447
  assert_equal false, hashy.changed?
441
448
  assert_equal false, hashy.name_changed?
442
- assert_equal false, hashy.changed?(:name)
449
+ assert_equal false, hashy.changed?("name")
443
450
  assert_equal nil, hashy.name_change
444
- assert_equal nil, hashy.change(:name)
451
+ assert_equal nil, hashy.change("name")
445
452
  assert_equal({}, hashy.changes)
446
453
 
447
454
  hashy.name = "Chris"
@@ -449,11 +456,11 @@ module Unit
449
456
  assert_equal true, hashy.dirty?
450
457
  assert_equal true, hashy.changed?
451
458
  assert_equal true, hashy.name_changed?
452
- assert_equal true, hashy.changed?(:name)
459
+ assert_equal true, hashy.changed?("name")
453
460
  assert_equal "Stephan", hashy.name_was
454
- assert_equal "Stephan", hashy.was(:name)
461
+ assert_equal "Stephan", hashy.was("name")
455
462
  assert_equal ["Stephan", "Chris"], hashy.name_change
456
- assert_equal ["Stephan", "Chris"], hashy.change(:name)
463
+ assert_equal ["Stephan", "Chris"], hashy.change("name")
457
464
  assert_equal({"name" => ["Stephan", "Chris"]}, hashy.changes)
458
465
 
459
466
  hashy.name = "Stephan"
@@ -461,11 +468,19 @@ module Unit
461
468
  assert_equal false, hashy.dirty?
462
469
  assert_equal false, hashy.changed?
463
470
  assert_equal false, hashy.name_changed?
464
- assert_equal false, hashy.changed?(:name)
471
+ assert_equal false, hashy.changed?("name")
465
472
  assert_equal nil, hashy.name_change
466
- assert_equal nil, hashy.change(:name)
473
+ assert_equal nil, hashy.change("name")
467
474
  assert_equal({}, hashy.changes)
468
475
 
476
+ assert_raises(IndexError) do
477
+ hashy.changed? :name
478
+ end
479
+
480
+ assert_raises(IndexError) do
481
+ hashy.change :name
482
+ end
483
+
469
484
  assert_raises(NoMethodError) do
470
485
  hashy.company
471
486
  end