sniff 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -75,14 +75,22 @@ end
75
75
 
76
76
  Then /^the conclusion of the committee should have "(.*)" of "(.*)"$/ do |attribute, value|
77
77
  report_value = coerce_value @report.conclusion.send(attribute)
78
- report_value.should == coerce_value(value)
78
+ compare_values report_value, value
79
+ end
80
+
81
+ Then /^the conclusion of the committee should include "(.*)"$/ do |value|
82
+ result = @report.conclusion.find do |item|
83
+ equality? item, value
84
+ end
85
+ result.should_not be_nil
79
86
  end
80
87
 
81
88
  Then /^the conclusion of the committee should have a record identified with "(.*)" of "(.*)" and having "(.*)" of "(.*)"$/ do |id_field, id, field, value|
82
89
  id_field = id_field.to_sym
83
90
  records = @report.conclusion
84
- record = records.to_a.find { |r| r.send(id_field) == id }
85
- coerce_value(record.send(field)).should == coerce_value(value)
91
+ record = records.to_a.find { |r| equality? r.send(id_field), id }
92
+ record.should_not be_nil
93
+ compare_values record.send(field), value
86
94
  end
87
95
 
88
96
  Then /^the conclusion of the committee should have a record identified with "(.*)" of "(.*)" and having "(.*)" including "(.*)"$/ do |id_field, id, field, values|
@@ -33,3 +33,18 @@ def compare_values(a, b)
33
33
  a.should == b
34
34
  end
35
35
  end
36
+
37
+ def equality?(a, b)
38
+ if b.nil? or b.empty?
39
+ a.nil?
40
+ elsif a.is_a? Date or a.is_a? Time
41
+ b = Date.parse b
42
+ a == b
43
+ elsif b =~ /\d+\.\d+/
44
+ (a.to_f - b.to_f).abs <= 0.00001
45
+ elsif b =~ /^\d+$/
46
+ a.to_i == b.to_i
47
+ else
48
+ a == b
49
+ end
50
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sniff
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 5
10
- version: 0.1.5
9
+ - 6
10
+ version: 0.1.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Derek Kastner
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-10 00:00:00 -04:00
18
+ date: 2010-08-11 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency