Class: Wukong::SpecHelpers::DelimitedMatcher

Inherits:
UnitTestMatcher show all
Defined in:
lib/wukong/spec_helpers/unit_tests/unit_test_matchers.rb

Direct Known Subclasses

CsvMatcher, TsvMatcher

Instance Attribute Summary collapse

Attributes inherited from UnitTestMatcher

#actual_record, #driver, #expected, #expected_record, #mismatched_index, #reason

Instance Method Summary collapse

Methods inherited from UnitTestMatcher

#failure_message, #matches?, #negative_failure_message, #records

Constructor Details

#initialize(delimiter, *expected) ⇒ DelimitedMatcher

Returns a new instance of DelimitedMatcher.



127
128
129
130
# File 'lib/wukong/spec_helpers/unit_tests/unit_test_matchers.rb', line 127

def initialize delimiter, *expected
  self.delimiter = delimiter
  super(*expected)
end

Instance Attribute Details

#delimiterObject

Returns the value of attribute delimiter.



125
126
127
# File 'lib/wukong/spec_helpers/unit_tests/unit_test_matchers.rb', line 125

def delimiter
  @delimiter
end

Instance Method Details

#delimited_typeObject



142
143
144
# File 'lib/wukong/spec_helpers/unit_tests/unit_test_matchers.rb', line 142

def delimited_type
  "'#{delimiter}-delimited'"
end

#outputObject



132
133
134
135
136
137
138
139
140
# File 'lib/wukong/spec_helpers/unit_tests/unit_test_matchers.rb', line 132

def output
  driver.map do |record|
    begin
      record.to_s.split(delimiter)
    rescue => e
      raise Error.new("Could not parse as #{delimited_type}': \n\n#{record}")
    end
  end
end

#parse_modifierObject



146
147
148
# File 'lib/wukong/spec_helpers/unit_tests/unit_test_matchers.rb', line 146

def parse_modifier
  " (after parsing as #{delimited_type})"
end