sniff 0.11.2 → 0.11.3

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.
@@ -24,8 +24,6 @@ module Sniff
24
24
  fixtures_path = File.join(Sniff.root, 'lib', 'test_support', 'db', 'fixtures')
25
25
  environments << init_environment(Sniff.root, :fixtures_path => fixtures_path)
26
26
  end
27
-
28
- environments.each { |e| e.populate_fixtures }
29
27
  end
30
28
 
31
29
  def init_environment(root, options = {})
data/lib/sniff/fixture.rb CHANGED
@@ -4,6 +4,8 @@ module Sniff
4
4
  module Fixture
5
5
  extend self
6
6
 
7
+ # FIXME TODO this doesn't work for models where the model name is different from the table name
8
+ # (e.g. PetroleumAdministrationForDefenseDistrict, ResidentialEnergyConsumptionSurveyResponse)
7
9
  def load_fixtures(fixtures_path)
8
10
  Encoding.default_external = 'UTF-8' if Object.const_defined?('Encoding')
9
11
  Dir.glob(File.join(fixtures_path, '**/*.csv')) do |fixture_file|
data/lib/sniff/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Sniff
2
- VERSION = "0.11.2"
2
+ VERSION = "0.11.3"
3
3
  end
@@ -49,12 +49,14 @@ Then /^the conclusion should not comply with standards? "(.*)"$/ do |standard_li
49
49
  end
50
50
 
51
51
  Then /^the conclusion of the committee should be "(.*)"$/ do |conclusion|
52
- compare_values(@report.try(:conclusion), conclusion)
52
+ conclusion = @report.try(:conclusion)
53
+ conclusion = conclusion.respond_to?(:value) ? conclusion.value : conclusion
54
+ compare_values(conclusion, coerce_value(conclusion))
53
55
  end
54
56
 
55
57
  Then /^the conclusion of the committee should be timeframe "(.*)"$/ do |conclusion|
56
58
  timeframe = Timeframe.interval(conclusion)
57
- compare_values(@report.try(:conclusion), timeframe)
59
+ compare_values(@report.try(:conclusion), coerce_value(timeframe))
58
60
  end
59
61
 
60
62
  Then /^the conclusion of the committee should be nil$/ do
@@ -69,16 +71,17 @@ Then /^the conclusion of the committee should include a key of "(.*)" and value
69
71
  end
70
72
 
71
73
  if value.present?
74
+ string_keyed_hash = {}
72
75
  @report.conclusion.each do |k, v|
73
- @report.conclusion[k.to_s] == v
76
+ string_keyed_hash[k.to_s] = v
74
77
  end
75
- compare_values(@report.conclusion[key.to_s], value)
78
+ compare_values(string_keyed_hash[key.to_s], coerce_value(value))
76
79
  end
77
80
  end
78
81
 
79
82
  Then /^the conclusion of the committee should have "(.*)" of "(.*)"$/ do |attribute, value|
80
83
  report_value = coerce_value @report.conclusion.send(attribute)
81
- compare_values report_value, value
84
+ compare_values report_value, coerce_value(value)
82
85
  end
83
86
 
84
87
  Then /^the conclusion of the committee should include "(.*)"$/ do |value|
@@ -96,7 +99,7 @@ Then /^the conclusion of the committee should have a( single)? record identified
96
99
  records = @report.conclusion
97
100
  record = records.to_a.find { |r| equality? r.send(id_field), id }
98
101
  record.should_not be_nil
99
- compare_values record.send(field), value
102
+ compare_values record.send(field), coerce_value(value)
100
103
  if single
101
104
  records.count.should == 1
102
105
  end
@@ -111,16 +114,16 @@ end
111
114
 
112
115
  Then /^the conclusion of the committee should have a record with "([^"]*)" equal to "([^"]*)"$/ do |field, value|
113
116
  record = @report.conclusion
114
- compare_values(coerce_value(record.send(field)),value)
117
+ compare_values(coerce_value(record.send(field)), coerce_value(value))
115
118
  end
116
119
 
117
120
  Then /^the conclusion of the committee should include a key of "(.*)" and subvalue "(.*)" of "(.*)" and subvalue "(.*)" of "(.*)"$/ do |key, subkey1, subvalue1, subkey2, subvalue2|
118
121
  if key.present?
119
122
  @report.conclusion.keys.map(&:to_s).should include(key)
120
123
  actual_subvalue1 = coerce_value(@report.conclusion[key.to_s][subkey1.to_sym].to_s)
121
- compare_values(actual_subvalue1, subvalue1)
124
+ compare_values(actual_subvalue1, coerce_value(subvalue1))
122
125
  actual_subvalue2 = coerce_value(@report.conclusion[key.to_s][subkey2.to_sym].to_s)
123
- compare_values(actual_subvalue2, subvalue2)
126
+ compare_values(actual_subvalue2, coerce_value(subvalue2))
124
127
  else
125
128
  @report.conclusion.keys.map(&:to_s).should be_blank
126
129
  end
@@ -30,23 +30,13 @@ module CucumberValueParser
30
30
 
31
31
  def compare_values(a, b)
32
32
  if b.blank?
33
- a.should be_blank
33
+ a.blank?
34
+ elsif a.is_a?(Float)
35
+ a.should be_within(0.00001).of(b)
36
+ elsif a.is_a? Date
37
+ a.strftime('%Y-%m-%d').should == b.strftime('%Y-%m-%d')
34
38
  elsif a.is_a? Time
35
- b = Chronic.parse b unless b.is_a?(Time)
36
- a.should == b
37
- elsif a.is_a? Date
38
- b = Date.parse b unless b.is_a?(Date)
39
- a.should == b
40
- elsif b =~ /\d+.*,.*\d/
41
- a.should == b
42
- elsif b =~ /\d+\.\d+/
43
- b = b.to_f
44
- a.to_f.should be_within(0.00001).of(b)
45
- elsif b =~ /^0/
46
- a.to_s.should == b
47
- elsif b =~ /^\d+$/
48
- b = b.to_i
49
- a.to_i.should == b
39
+ a.strftime('%Y-%m-%d %H:%M:%s').should == b.strftime('%Y-%m-%d %H:%M:%s')
50
40
  else
51
41
  a.should == b
52
42
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: sniff
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.11.2
5
+ version: 0.11.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - Derek Kastner